php5.6 的 Xdebug 无法正常工作

php5.6 的 Xdebug 无法正常工作

直到昨天,我还在用 Ubuntu 14.04 和 php5.5 和 nginx,一切都运行正常,包括xdebug

然后我通过以下方式更新到 php5.6

sudo add-apt-repository ppa:ondrej/php5-5.69
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install php5

之后自动更新了很多其他 php。此后 xdebug 不再工作,并给我一些 shell 错误,因为它是为错误的 php 版本构建的,所以我卸载并重新安装了它

sudo pecl install xdebug

现在我不再收到任何 shell 错误,但它无法正常工作。如果我xdebug在 php.ini 中禁用,我的本地服务器将按预期使用 nginx 运行,因此基本设置是正确的。

如果我激活 xdebugphp.ini并请求本地页面,请求就会挂起,就好像我启用了 xdebug 并在代码中的某处设置了断点,但我没有。从命令行执行 php 确实很有趣。

我现在的/etc/php5/mods-available/xdebug.ini样子

zend_extension=xdebug.so
xdebug.max_nesting_level=1000
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9001
xdebug.profiler_enable=0
xdebug.profiler_output_dir = /var/log/xdebug

并通过符号链接包含到 和/etc/php5/cli/conf.d/etc/php5/fpm/conf.d。同时在命令行上检查 php -m 表明它xdebug作为 Zend-Module 包含在内。

将端口转移到 9001 是故意的,因为fastcgi它在端口 9000 上运行。

nginx 日志很好,xdebug日志不存在(目录为空)并且 fpm 日志只说

NOTICE: configuration file /etc/php5/fpm/php-fpm.conf test is successful

知道该做什么或去哪里看吗?

答案1

我已将zend_extension=xdebug.so其删除/etc/php5/mods-available/xdebug.ini,现在我能够再次访问页面,同时仍然使用 xdebug?!

我没有找到任何其他包含 xdebug 的文件php.ini,所以我有点困惑。也许其他人有更完整的答案。

相关内容