我经常使用 xdebug 来调试应用程序,我构建了一个 laravel 应用程序,它上传一个 csv,将数据插入数据库,并将 ID 插入作业队列。
我编写了一个 artisan 命令,通过 cron 运行,然后对这些数据执行某些操作。
Xdebug 可通过浏览器访问站点,但在从 cli 运行时不会在断点处中断。
我运行 php5-fpm。我的文件 /etc/php5/fpm/php.ini
和 /etc/php5/cli/php/ini
两者都包含以下设置:
zend_extension=/usr/lib/php5/20121212/xdebug.so
xdebug.remote_enable = 1
xdebug.idekey = 'dev_docker'
xdebug.remote_autostart = 1
xdebug.remote_connect_back = {{my host ip}}
xdebug.remote_port = 9000
xdebug.remote_handler=dbgp
然后我运行 artisan 命令
php artisan jobqueue::process --batch-size=10 --sleep=10
我知道命令正在运行,因为 ->info('text') 显示在终端中
有人知道我错过了什么吗?
最佳答案
也许这会对某人有所帮助。
简而言之,我遇到了同样的问题,但我没有幸运地接受答案。我的解决方案是从命令行运行它:
php -dxdebug.remote_enable=1 -dxdebug.remote_autostart=on -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=127.0.0.1 artisan my:command
关于php - Xdebug laravel artisan 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33564826/