執行環境
ubuntu 14.04
nginx or apache or cli
visual studio code 1.14.1
php 5
開發端與Server端不在同一台電腦。
php執行環境在遠端,vscode在本地,透過xdebug.remote功能,可以達到遠端debug的需求。
檢查xdebug是否已安裝
cli:1
php -i | grep 'xdebug.remote_enable'
有安裝並啟用的話,就會出現上方的訊息。沒有任何訊息,則表示要安裝並啟用。
web:1
2<?php
phpinfo();
將上方指令碼存成php檔,並透過web server讀取查看phpinfo
安裝xdebug
1 | # sudo apt-get install php5-xdebug |
設定xdebug.ini
編輯xdebug設定檔,加上remote相關資訊1
# vim /etc/php5/mods-available/xdebug.ini
1 | zend_extension = xdebug.so |
其中remote_host, remote_port要填vscode所在的IP與vscode開啟的port(後面會說明)
remote_connect_back 如果設定為1,預設會將debug資訊拋往client,也就是任意開發端。
只要是對server請求的client都可以得到xdebug_session進行debug
因此必須要小心設定。對了,這個設定值對CLI無效。
記得要重新啟動服務
重新啟動服務
ubuntu_nginx+php:1
service php5-fpm restart