以前以為php調試時服務器端和IDE必須在同一台機子上,無意發現xdebug其實是支持遠程調試的。
嘗試之后發現可以配置成功,還是可以調試代碼的感覺爽啊!
php所在Ubuntu服務器 :192.168.10.XXX
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.確認結果
想要調試的代碼行前面單擊,打上斷點,然后刷新瀏覽器,查看斷點是否進入。
沒有問題的話,將會進入斷點
以上