作者:手机用户2502932937 | 来源:互联网 | 2022-11-30 19:47
我在PHP 7.3上安装了Xdebug pecl install 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
不知道为什么它不起作用.
1> yivi..:
(在你的问题的原始版本中,你的配置被注释掉了,现在你已经编辑了那一点,让下一对段落离开了循环)
尽管文档声明#
自PHP 7.0以来has has character()不再被识别为有效的注释字符:
似乎php会愉快地将这些行视为配置文件中的注释.解释器会忽略散列之外的所有内容.
所以这些配置线完全无效.
要验证是否正在加载配置,请创建一个如下所示的简单文件:
加载此文件将告诉您有关PHP配置的所有信息.如果Xdebug已成功加载,您将看到如下内容:
并且低于加载的配置设置:
这些是最重要的设置,实际加载和启用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.remote_connect_back=On
通过以下行,您可以了解IDE正在侦听哪个端口.它默认为9000,因此除非你需要监听非标准端口(例如,同时针对不同的解释器同时调试多个项目),否则通常不需要设置它.但通常情况下,您可以安全地省略此行:
xdebug.remote_port=9000
加载并启用模块后,您还可以使用环境变量配置一些Xdebug设置.具体来说xdebug.remote_host
,xdebug.remote_port
,xdebug.remote_mode
和xdebug.remote_handler
例如:
export XDEBUG_COnFIG="remote_host=192.168.0.3 remote_port=9005"