以前,我使用了MAMP v2.x,它与XDebug很好地协同工作。它被配置,所以我可以打开和关闭切换它使用下面的书签JavaScript的每个浏览器连接:使用XDebug和PHPStorm进行本地命令行调试,MAMP Pro,OS X
javascript:(/**%[email protected]%200.5.2%20*/function()%20{document.cookie='XDEBUG_SESSION='+'PHPSTORM'+';path=/;';})()
javascript:(/**%[email protected]%200.5.2%20*/function()%20{document.cookie='XDEBUG_SESSION='+''+';expires=Mon,%2005%20Jul%202000%2000:00:00%20GMT;path=/;';})()
我也可以调试脚本使用bash命令行上执行打开和关闭调试用:
export XDEBUG_CONFIG="idekey=PHPSTORM"
unset XDEBUG_CONFIG
我已经升级到MAMP Pro 3.x,并从浏览器进行调试工作,并可以打开和关闭JS书签。但是,我一直无法从终端调试工作。 MAMP的默认安装是让XDebug自动启动。我不希望这样,因为它在调试过程中阻止访问服务器上的其他站点,所以我修改了配置。下面是我有:
[xdebug]
MAMP_Xdebug_MAMP
xdebug.remote_enable=on
xdebug.remote_log="/var/log/xdebug.log"
xdebug.remote_host=localhost
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.idekey="PHPSTORM"
所以我的脚本使用正确的PHP程序,我挂符号在/ usr/bin中/ PHP来/Applications/MAMP/bin/php/php5.4.30/bin/php
我也试着重新打开xdebug.remote_autostart,看看能否从终端工作中进行调试。不行。
网络上有很多关于如何做远程命令行调试的信息,但我没有发现任何有助于本地命令行调试的信息。
我正在寻找关于如何使用MAMP Pro 3.x进行本地命令行调试的想法。
解决方案更新:我从cli运行了一个脚本phpinfo(),并发现由于某种原因从命令行调用php时,它加载了一个不同的php.ini。我将以下内容添加到/Applications/MAMP/bin/php/php5.4.30/conf/php.ini,它现在可以工作了!
zend_extension="/Applications/MAMP/bin/php/php5.4.30/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so"
xdebug.remote_enable=on
xdebug.remote_log="/var/log/xdebug.log"
xdebug.remote_host=localhost
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.idekey="PHPSTORM"
感谢@Niloct的火花,导致我的解决方案,虽然我很惭愧我没有先想到它的想法。 :/
是否启用了phpstorm的listen按钮? – Niloct 2014-10-10 17:00:00
是聆听按钮已启用。我还测试了浏览器的调试,以确认它正在监听,然后立即尝试cli。 – 2014-10-10 17:42:48
哇。 1年半后,我升级电脑并遇到同样的问题。谷歌搜索我找到自己的答案,这是我需要的解决方案。希望我可以放弃它。 LOL – 2016-05-30 02:47:03