以前,我使用了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