Wamp-Xdebug配置无法保存,phpinfo显示与配置不符求助
嘿,我之前也碰到过这种配置和phpinfo显示不一致的情况,给你几个实用的排查方向:
确认加载的是正确的php.ini文件
打开phpinfo()页面,找到最顶部的「Loaded Configuration File」项,检查路径是不是你修改的C:\wamp64\bin\php\php5.6.35\php.ini?WAMP环境经常存在多个php.ini文件(比如Apache目录下也会有一个),很容易改错目标文件。检查Xdebug是否成功加载
在phpinfo里找到Xdebug的专属区块,先确认zend_extension的路径和你配置的完全一致。如果Xdebug没成功加载,那所有相关配置自然不会生效。另外注意:你配置里的xdebug.remote_start是已废弃的参数,和xdebug.remote_autostart功能重复,建议删掉它避免混淆。务必重启服务
修改php.ini后,一定要重启WAMP的Apache服务(甚至整个WAMP程序),否则新配置不会被加载。这是最容易忽略的关键步骤!排查是否有其他配置文件覆盖设置
查看phpinfo里的「Additional .ini files parsed」项,有没有额外加载的ini文件?有些环境会在php.d这类目录下放单独的Xdebug配置文件,可能会覆盖你在主php.ini里的设置。临时手动测试配置有效性
如果上面都没问题,可以在代码里加一段测试代码:ini_set('xdebug.idekey', 'PHPSTORM'); echo ini_get('xdebug.idekey');运行后看输出是不是
PHPSTORM。如果生效,说明是配置加载顺序导致你的设置被覆盖;如果还是不生效,可能是Xdebug和环境存在其他冲突(不过你用的Xdebug 2.5.5对应PHP5.6是版本匹配的,大概率不是版本问题)。
附上你提供的Xdebug配置(已标注废弃参数):
[xdebug] zend_extension="C:\wamp64\bin\php\php5.6.35\zend_ext\php_xdebug-2.5.5-5.6-vc11-x86_64.dll" xdebug.remote_log = C:\wamp64\logs\xdebug.log xdebug.idekey = PHPSTORM xdebug.remote_port = 9000 xdebug.remote_handler="dbgp" xdebug.remote_autostart = on xdebug.remote_start = on # 此参数已废弃,建议移除 xdebug.remote_enable = on xdebug.remote_connect_back = on
内容的提问来源于stack exchange,提问作者Black

