(在您的问题的原始版本中,您的配置被注释掉了,现在您已经将其编辑掉了,导致接下来的几个段落有点失去联系)
尽管文档声明自 PHP 7.0 以来字符“#”不再被视为有效的注释字符:
![PHP Changelog](https://istack.dev59.com/54YJv.webp)
但是,在配置文件中,似乎 php 仍然会将那些行视为注释。解释器会忽略 # 后面的所有内容。
因此,这些配置行完全无效。
为了验证您的配置是否被加载,请创建一个像这样的简单文件:
<php
phpinfo()
加载此文件可以告诉您关于PHP配置的所有信息。 如果Xdebug已成功加载,您将看到类似以下内容:
![phpinfo输出](https://istack.dev59.com/dTib0.webp)
并且在下面加载了配置设置:
![phpinfo输出](https://istack.dev59.com/NAaQR.webp)
这些是实际加载和启用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_host
、xdebug.remote_port
、xdebug.remote_mode
和xdebug.remote_handler
例如:
export XDEBUG_CONFIG="remote_host=192.168.0.3 remote_port=9005"
zend_extension="/usr/local/php/modules/xdebug.so"
- Naveed Ali