从命令行运行script.php我喜欢这个
$ php -f myscript.php
我可以使用die()
和print_r()
来完成此过程。但我无法像从浏览器中传入的常规xdebug会话那样连接我的IDE(IntelliJ)。
我在与docker ubuntu 16.04连接的MacOS(HOST)中运行。
IntelliJ配置为侦听来自Docker的来电。我想当我使用我的终端时,我正在使用我主机上的php,这就是为什么IntelliJ没有捕获连接。
即使我从Docker容器内的终端运行,也没有触发IntelliJ中的xdebug进程。
注意: xdebug在常规浏览器会话中与Docker和IntelliJ配合使用。我只是在构建容器时传递HOST IP并且它可以工作。
这是我的Dockefile中设置xdebug的部分:
RUN { \
echo '[xdebug]'; \
echo 'zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so'; \
echo 'xdebug.remote_enable=1'; \
echo 'xdebug.remote_port=9000'; \
echo 'xdebug.remote_autostart=1'; \
echo 'xdebug.remote_handler=dbgp'; \
echo 'xdebug.idekey=dockerdebug'; \
echo 'xdebug.profiler_output_dir="/var/www/html"'; \
echo 'xdebug.remote_connect_back=0'; \
echo 'xdebug.remote_host=$REMOTE_HOST'; \
} >> /usr/local/etc/php/php.ini
我怎样才能实现这个调试过程?
答案 0 :(得分:0)
我找到了触发xdebug的方法。刚从POSTMAN(GET或POST)调用myscript.php就行了。 mysite.com/myscript.php