我正在尝试在 mamp 上运行 xdebug 并遵循了许多教程,但是当我在 phpinfo() 中看到它时,我没有找到 xdebug。正如我阅读的那样,xdebug 已经包含在 mamp 中。这是我在 php.ini 中添加的行,我还去了那个位置查看 xdebug.so 是否存在。但它仍然无法正常工作。有什么帮助吗?我正在使用 mamp 2.1.2
ps 我修改了php版本以在php.ini中从php5到php5.4.10进行挖掘
我不知道是否为时已晚,但我确信有人需要真正的答案。
要解决在线问题,必须将 php.ini 更改为正确的路径...
对于 php 5.4.10,有两个 php.ini,我都更改了,它对我有用。他们在:
MAMP/conf/php5.4.10/php.ini
and
MAMP/bin/php/php5.4.10/conf/php.ini
当我更改第二个时,我重新加载 MAMP 并且它工作!如果你想知道它是否工作,在 localhost 上打开 MAMP,点击 phpinfo 并找到 xdebug。
另外,我不得不说我在 httpd.conf (MAMP/conf/apache) 中将端口 8888 更改为 80(您必须将 Listen:8888 更改为 Listen:80 并将 local_host:8888 更改为 local_host:80。(不带 _)在这种情况下,你只需要去 http://localhost 就可以看到你的项目
谢谢@titolancreo!
几个小时后,我正要放弃今天,只需在两个 php.ini 中添加相同的行,它就突然起作用了!
您也可以在终端中执行此操作以了解它是否有效:
php -m
您应该能够看到 Xdebug 模块两次,一次在 [PHP Modules] 列表中,另一次在 [Zend Modules] 列表中。
确保您正在收听来自 php.info 的正确端口,对我来说是
xdebug.remote_port=9900
然后在vcode中
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9900
},
您还必须检查——(我已经看到了)——xdebug.so 文件是否存在于 php.ini 中指定的位置。
在我的情况下,原来的行是:
zend_extension="/Applications/MAMP/bin/php/php7.1.0/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so"
我终于将其更改为指向正确的位置并且它起作用了:
zend_extension="/Applications/MAMP/bin/php/php7.1.0/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so"
但是在 php_error.log 中没有错误消息。我无法弄清楚为什么某些 .so 文件在日志中被报告为丢失,而其他一些文件却没有,比如这个。