这是我在php.ini中的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
它位于文件的最底部。
正如您所看到的,我已将xdebug.idekey
设置为PHPSTORM
,但phpinfo()
显示未设置该值,我做错了什么?
我还通过PhpStorm设置了idekey,但为什么底部的phpinfo()中有no value
条目?最上面一个填充?!
答案 0 :(得分:1)
编辑来自评论和@Black的回答这就是答案:
WAMP使用3个PHP.ini文件:
wamp\bin\apache\apache[version]\bin\php.ini
wamp\bin\php\php[version]\php.ini
wamp\bin\php\php[version]\phpForApache.ini
前两个文件很有用,apache的文件用于HTTP调用,PHP用于CGI / CLI。第三个用于WAMP有2个PHP版本时,WAMP用它来保存当前配置,然后为新版本创建一个新的PHP.ini文件。这在PHP的版本切换期间发生。
在Xdebug的案例中,确实是apache的文件很重要。当phpinfo没有显示任何修改时,这是一个常见的问题。
如果这两个文件之间具有相同的配置,您还可以将PHP文件的符号链接设为apache。这将节省很多头痛。
不幸发现 取决于您的请求,您可能希望使用不同的东西配置您的服务器。
您尝试将Xdebug用作远程,然后您的IDEKEY应设置为名为的DBGP_IDEKEY
这是doc:
<强> xdebug.idekey 强>
类型:字符串,默认值: complex 控制哪个IDE Key Xdebug 应该传递给DBGp调试器处理程序。默认值基于 环境设置。首先是环境设置DBGP_IDEKEY 咨询,然后是USER和最后一个USERNAME。 默认设置为 找到的第一个环境变量。如果找不到的话 设置为默认值''。如果设置了此设置,它将始终覆盖 环境变量。
您可能会担心我用斜体文字指出的条件
与评论相关联,请查看完整的documentation
我记得WAMP使用Xdebug作为Thread安全扩展,你应该尝试 取代
zend_extension="C:\wamp64\bin\php\php5.6.35\zend_ext\php_xdebug-2.5.5-5.6-vc11-x86_64.dll"
通过
zend_extension_ts="C:\wamp64\bin\php\php5.6.35\zend_ext\php_xdebug-2.5.5-5.6-vc11-x86_64.dll"
并检查您是否下载了正确版本的Xdebug(线程安全)
然后重新启动wamp并查看是否有更改。
编辑:您的PHP.ini存在问题,您没有修改正确的问题。我用这个成功了:
; XDEBUG Extension zend_extension = "C:\wamp\bin\php\php7.0.4\zend_ext\php_xdebug-2.4.0-7.0-vc14-x86_64.dll" ; [xdebug] xdebug.remote_enable=1 xdebug.idekey = "PHPSTORM" xdebug.remote_autostart= on xdebug.remote_connect_back= 1 xdebug.remote_host="127.0.0.1" xdebug.remote_port=9000 xdebug.remote_handler="dbgp" xdebug.remote_mode=req xdebug.profiler_enable = 0 xdebug.profiler_output_dir = "c:/wamp/tmp/" xdebug.collect_params = On xdebug.show_local_vars = On
答案 1 :(得分:1)
未保存的原因是wamp
,您必须将配置存储在C:\wamp64\bin\apache\apache_VERSION\bin\php.ini
而不是C:\wamp64\bin\php\php_VERSION\php.ini
。
我使用Notepad ++在我的整个wamp/bin/php
文件夹中搜索了字符串xdebug
的出现,这就是我如何找到它的。