開發的時候我都是使用XDebug在本地調試,但是最近加入一些項目中去,環境太復雜了,要在本地搭建一個開發環境真的太麻煩了,那麼我們怎麼使用xdebug來遠程調試呢?
我這裡使用虛擬機搭建了一個模擬環境來實驗說明:
1.虛擬機IP:192.168.174.130 ,虛擬機用於搭建lampp環境
2.實體機IP:192.168.174.1,這個是IDE的開發環境。
首先我在虛擬機裡面安裝了一個lampp,而且增加了一vhosts,具體如下:
vim /opt/lampp/etc/extra/httpd-vhosts.conf <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/data/web" <Directory "/data/web"> Options All AllowOverride All Require all granted </Directory> ServerName www.test.com ErrorLog "test-error_log" CustomLog "test-access_log" common </VirtualHost>
這裡為了方便給vhosts設置一個域名,這個需要修改實體機的/etc/hosts後才能訪問:
192.168.174.130 www.test.com
關鍵的一步我們需要設置虛擬機中的php.ini來支持xdebug遠程調試,增加了如下代碼:
vim /opt/lampp/etc/php.ini zend_extension="/opt/lampp/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so" [xdebug] xdebug.default_enable=1 xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_host=192.168.174.130 xdebug.remote_port=9000 xdebug.remote_connect_back=1 xdebug.remote_autostart=1
最關鍵的兩個設置xdebug.remote_host和xdebug.remote_connect_back,remote_host要設置成服務器的ip,remote_connect_back要設置成1或者on
到這裡,服務端就設置好了,接下來我們來設置ide了,請原諒我是一個ide工具黨。我使用的Intellij IDEA,而PHPStorm的設置也是一樣的。
第一設置項目的server
在Host那裡要填上,能夠正常訪問到虛擬機服務器的地址,我們之前設置的虛擬域名是www.test.com,所以我圖上也是寫得這個。
最關鍵的設置地方就是要勾上這個路徑映射,然後將需要調試的文件寫上它在服務器上的路徑,比如我這裡需要調試a.php,而在虛擬機服務器上我們設置的web目錄是/data/web/,那麼它映射的路徑就應該是/data/web/a.php了。
一切設置好了以後,就可以像本地調試那樣開始了。
OK了,沒有什麼技術含量,但希望能幫到需要的朋友,注意把文章中得ip地址,修改你自己的服務器的地址。
以上內容給大家分享了PHP遠程調試之XDEBUG的相關知識,希望大家喜歡。