安装了PHP并配置了设置后,Xdebug无法工作

3

我使用pecl install xdebug在PHP 7.3上安装了Xdebug。

当我将这些设置添加到/etc/php/7.3/apache2/php.ini并重新加载Apache时,页面失败并显示未向服务器发送数据。

xdebug.var_display_max_children=-1
xdebug.var_display_max_data=-1
zend_extension="/usr/lib/php/20180731/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.halt_level=E_WARNING|E_NOTICE|E_USER_WARNING|E_USER_NOTICE
xdebug.scream=1

不确定为什么它不起作用。


3
那些实际上像你问题中那样被注释掉了吗? - Zachary Craig
1
路径是否正确?类似这样:zend_extension="/usr/local/php/modules/xdebug.so" - Naveed Ali
@zack6849 对不起,他们没有在服务器中进行评论。 - somejkuser
我不确定为什么您要使用pecl来安装库?您似乎正在运行Linux,因此最好使用php-repository来安装您发行版的软件包,并使用您发行版的打包系统进行安装。另一个可能存在的问题是Web服务器配置失败。但是该配置未包含在您的问题中。 - Bernard van der Velden
@GeorgeAppleton 我的帖子缺少什么?我已经安装了xdebug配置,问题与安装有关吗? - somejkuser
显示剩余4条评论
3个回答

11

(在您的问题的原始版本中,您的配置被注释掉了,现在您已经将其编辑掉了,导致接下来的几个段落有点失去联系)

尽管文档声明自 PHP 7.0 以来字符“#”不再被视为有效的注释字符

PHP Changelog

但是,在配置文件中,似乎 php 仍然会将那些行视为注释。解释器会忽略 # 后面的所有内容。

因此,这些配置行完全无效。

为了验证您的配置是否被加载,请创建一个像这样的简单文件:

<php
phpinfo();

加载此文件可以告诉您关于PHP配置的所有信息。 如果Xdebug已成功加载,您将看到类似以下内容:

phpinfo输出

并且在下面加载了配置设置:

phpinfo输出

这些是实际加载和启用Xdebug扩展的最重要的设置:

zend_extension="/usr/lib/php/20180731/xdebug.so"
xdebug.remote_enable=1

重要提示:您需要检查 /usr/lib/php/20180731/xdebug.so 是否存在,如果不存在,请找到 xdebug 模块的实际位置。

下一行假设 web 服务器和浏览器安装在同一 IP 地址的同一台机器上,这可能对于简单的设置是正确的:

 xdebug.remote_host=127.0.0.1
作为一种替代方法,您可以告诉 Xdebug 连接回发出原始请求的任何 IP。

作为一种替代方法,您可以告诉Xdebug连接回发出原始请求的任何IP。

 xdebug.remote_connect_back=On

使用以下命令,你可以告诉IDE监听哪个端口。默认情况下是9000,所以通常情况下不需要设置它,除非你需要监听非标准端口(例如同时调试多个项目,使用不同的解释器)。但通常情况下,你可以安全地省略这行:

xdebug.remote_port=9000

一旦加载并启用了该模块,您还可以使用环境变量配置一些Xdebug设置。具体来说,这些设置包括xdebug.remote_hostxdebug.remote_portxdebug.remote_modexdebug.remote_handler

例如:

export XDEBUG_CONFIG="remote_host=192.168.0.3 remote_port=9005"

在配置文件中,“#”是完全可以的。 - Derick
1
@Derick,精细手册说的不一样。 - yivi

4

2
要在php7.3上安装xdebug,请运行以下命令:
sudo update-alternatives --set phpize /usr/bin/phpize7.3
sudo update-alternatives --set php /usr/bin/php7.3
sudo update-alternatives --set php-config /usr/bin/php-config7.3

现在下载源代码并通过运行以下命令进行安装:
cd /tmp

wget http://xdebug.org/files/xdebug-2.8.0.tgz
tar -xzvf xdebug-2.8.0.tgz
cd xdebug-2.8.0
phpize
./configure
sudo make
sudo make install

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