之前覺得php調試時服務器端和IDE必須在同一臺機子上,無心發現xdebug實際上是支持遠程調試的。
嘗試以後發現能夠配置成功,仍是能夠調試代碼的感受爽啊!
php所在Ubuntu服務器 :192.168.10.XXXphp
Windows開發機(Zend做爲IDE) :192.168.40.XXX
PS:PHPStorm也是能夠配置成功的,我的更喜歡Zend,因此以zend爲例。
1.服務器端安裝php的xdebug插件
使用php編譯出xdebug,放到php的插件目錄
/opt/php/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so
2.配置php.ini
[xdebug]
zend_extension="/opt/php/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=192.168.10.XXX ← 此處爲服務器IP
xdebug.remote_port=9009 ← 默認9000端口與php-fpm衝突,改爲9009
xdebug.remote_connect_back=1
xdebug.remote_autostart=0
※修改完後須要重啓web服務器
3.windows開發下安裝Zend
4.配置Zend
1)配置PHP Servers
起一個Server name,設置Debugger方式爲Xdebug,最後設置啓動目錄
仍是這個窗口,切到第二個tab上,配置服務器目錄和本地代碼目錄的對應關係。(
關鍵步驟)
注意:我使用samba使得windows下用的和ubuntu下是同一份代碼,若是本地代碼和服務器不一致的話,不清楚會發生什麼!
2)配置xdebug
因爲把xdebug的默認端口號改成了9009,因此這裏也須要修改成9009。
3)確認php的debug模式
這裏的PHP Server應該就是前面配置好的那個Server名
4)修改默認瀏覽器爲chrome。默認的內置瀏覽器行爲怪異,建議使用chrome
5.配置debug啓動項
繼續確認Debugger是否配置爲了xdebug
6.確認結果
想要調試的代碼行前面單擊,打上斷點,而後刷新瀏覽器,查看斷點是否進入。
沒有問題的話,將會進入斷點
以上