我已将以下行添加到php.ini
中[XDebug]
zend_extension = C:\PROGRA~1\PHP5\ext\php_xdebug-2.1.0-5.3-vc9.dll
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
php_xdebug-2.1.0-5.3-vc9.dll
的版本通过页面http://www.xdebug.org/find-binary.php获得。
但phpinfo()
的输出中没有提到'xdebug'字符串。
有什么不对?
(这是我第二次与php-xdebug一起开始工作,第一次I gave up。如果你有其他有关调试的建议,请添加它们,可能作为对问题的评论。我想跟随场景在Windows下工作:“设置断点,运行我的脚本,它在断点处停止,我可以看到某个变量的值”。谢谢)
更新
重启Apache无法解决问题。 在日志文件中,将显示消息:
配置Apache / 2.2.14(Win32)PHP / 5.3.1 - 恢复正常操作
答案 0 :(得分:9)
检查
输出的顶部php -m
对我来说,在解决xdebug加载后,它在php.ini中显示错误。
答案 1 :(得分:7)
zend_extension = C:\PROGRA~1\PHP5\ext\php_xdebug-2.1.0-5.3-vc9.dll
应替换为
zend_extension="C:\PROGRA~1\PHP5\ext\php_xdebug-2.1.0-5.3-vc9.dll"
P.S。将给xdebug发送电子邮件。
答案 2 :(得分:6)
这对我有用(vscode,xampp) 转到https://xdebug.org/wizard.php并粘贴phpinfo()
的内容然后下载正确的xdebug.dll并将其放在“ext”文件夹中。
将以下内容添加到您的php.ini
[XDebug]
zend_extension="php_xdebug-2.5.4-7.0-vc14.dll"
xdebug.remote_enable=1
xdebug.remote_autostart=1
答案 3 :(得分:5)
我遇到了同样的问题,这对我没什么用。 我在控制台中启动了php,我看到,php无法从给定路径加载dll。 我的解决方案是省略路径信息,只加载它:
zend_extension="php_xdebug-2.2.5-5.5-vc11.dll"
答案 4 :(得分:3)
您可以按照本教程开始使用xdebug:http://devzone.zend.com/article/2803-Introducing-xdebug
Xdebug和ZendDebug是两个独立的调试器,由您来决定使用哪个。任何一个都很容易设置。 Eclipse中只有几个步骤。
将您的php信息页面中的内容发布到此页面,以找出要下载的版本:http://www.xdebug.org/find-binary.php
答案 5 :(得分:2)
我本人正在努力解决这个问题,并找到了解决问题的方法。它至少适用于Xampp和Windows 7。
在我的情况下,问题是点。将“php_xdebug-2.2.5-5.5-vc11.dll”重命名为“php_xdebug.dll”完成了这项工作。
另一个提示是Xampp的新版本内置了Xdebug,所以你不需要下载它,只需编辑php.ini:
zend_extension = "path\to\php\ext\php_xdebug.dll"
xdebug.remote_enable = on
xdebug.remote_handler = dbgp
xdebug.remote_host = 127.0.0.1 (or localhost)
xdebug.remote_port = 9000
xdebug.remote_mode = req
然后重新启动apache它应该可以工作。使用xampp内置xdebug的优点是它很可能是正确的版本。
答案 6 :(得分:0)
它的发生是因为许可。 您必须从文件夹的属性安全标签中添加该特定应用/用户个人资料的权限。
我使用PHP与IIS服务器。 通过在安全权限中添加 IIS_USER ,它对我有用。
答案 7 :(得分:0)
在我的情况下,问题是 C:\ wamp64 \ bin \ apache \ apache2.4.23 \ bin 文件夹中的 php.symlink 文件,此文件链接到php.ini文件存在于 C:\ wamp64 \ bin \ php \ php5.6.25 中,但显然它没有工作,所以我删除了它并将实际的php.ini复制粘贴到同一个文件夹,它工作。
如果你想将php.symlink返回打开cmd中 C:\ wamp64 \ bin \ apache \ apache2.4.23 \ bin 并编写以下内容(windows):
mklink php.ini C:\ wamp64 \ bin \ php \ php5.6.25 \ php.ini
将路径替换为指向php文件中的php.ini
答案 8 :(得分:0)
我在2019年1月写了一篇文章,发现在Xdebug wizard here的Xdebug向导中
确实,包括使用他们的下载链接到您的PHP版本的正确版本的Xdebug,并完全按照原样复制该行以将其插入到php ini中,让Xdebug出现在phpInfo中。我正在安装到Laragon中。从命令行运行php -m可以很好地确认所有情况,并且Xdebug可以作为Zend扩展加载。有关需要重新启动服务器等的常见提示。答案 9 :(得分:0)
只为新手准备的
如果要检查php.ini中指定的.dll是否正确加载:
将php添加到Windows运行时目录。对于win10,请参阅此帖子https://www.forevolve.com/en/articles/2016/10/27/how-to-add-your-php-runtime-directory-to-your-windows-10-path-environment-variable/
在Windows命令提示符下,键入php -m并检查是否显示任何错误。
答案 10 :(得分:0)
在我的情况下,问题是apache加载的文件路径,我更改的php.ini文件不是当前加载的配置,因此请首先进行检查。
答案 11 :(得分:0)
xdebug 出现在 "php -m" 命令行中,但在浏览器上没有任何内容
答案 12 :(得分:0)
就我而言,Xdebug 显示在 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
、php -m
但不在 php -i
结果中。
重新启动 Apache 直到重新启动 php-fpm
phpinfo()