能否在PHP内置的Web服务器上使用xdebug?

8
我有一台安装了apache2和php7的电脑,我已经设置了php.ini来使用xdebug并且可以在编辑器中进行调试。但是我想在另一台只有php的电脑上进行调试。我使用命令php -S localhost:8080启动服务器。我尝试使用相同的php.ini文件,但是似乎php内置的Web服务器无法理解php.ini。我使用了命令php -S localhost:8080 -c <<path to my php.ini>>。这是apache服务器的phpinfo输出:enter image description here 这是内置Web服务器的输出:enter image description here

为什么不使用Kint呢?它比xdebug更好,而且不需要安装到php分发中。 - mopsyd
1
@Danilo 我不确定为什么 report_zend_debug 选项会影响这里 -- 据我所知它与 xdebug 没有任何关系。如果有的话,你应该查看 xdebug 的具体部分。另外,PHP 内置的 Web 服务器可以很好地与 xdebug 配合使用 -- 否则就不可能在本地开发中使用 Laravel/Symfony(手册默认使用)了。 - LazyOne
@LazyOne,非常感谢您的贡献。我不知道php.ini是否已加载,因为如果我提供了错误的路径,则内置Web服务器会运行,但不会发出错误。我尝试了很多方法,使用完整路径:php -S localhost:8080 -c c:/php/php7/php.ini,我将php.ini复制到当前目录并调用:php -S localhost:8080 -c php.ini - danilo
1
@LazyOne,现在它可以工作了,是的,phpinfo()显示xdebug已经激活了,我的问题在于Notepad++插件而不是内置Web服务器,非常感谢。 - danilo
1
@mopsyd 因为 Kint 不是调试器... - Christian
显示剩余3条评论
1个回答

5

在使用-S命令之前,您需要通过php.ini进行配置:

php -c /path/to/php.ini -S localhost:8080

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接