Krótko mówiąc, xdebug nie zatrzyma się niezawodnie na punktach przerwania w moich plikach cron, gdy używasz typowego:
php bin/magento cron:run
Xdebug jest poprawnie skonfigurowany i czasami zadziała, ale 85% czasu nie zadziała i po prostu zawiesi się w CLI, dopóki nie wyłączę nasłuchiwania połączeń w phpstorm.
Czy istnieje sposób na uruchomienie tylko jednego pliku cron? Musiałem faktycznie skopiować i wkleić zawartość mojego pliku cron do osobnego polecenia konsoli, aby poprawnie przetestować go w xdebug, co nie jest idealne.
W Magento 1.x korzystałem z AOE Scheduler do testowania zadań cron z Xdebug, przechodząc do administratora, zaznaczając to, które chciałem, i wybierając z menu rozwijanego uruchamianie i działało dobrze.
Chcę użyć czegoś takiego:
php bin/magento modulename:cronjob
który powinien zawsze uruchamiać crona, nawet jeśli nie jest to zaplanowane.
require '../app/bootstrap.php';
także na TestApp.php musi być:return $this->_response;
lub spowoduje wyświetlenie błędu, który masz na zrzucie ekranu phpstorm, ale nie rzeczywistego kodu. Spróbuję w ten sposób edytować twoją odpowiedź.