PHP - 如何使用XDEBUG來遠程調試?

開發的時候我都是使用XDebug在本地調試,可是最近加入一些項目中去,環境太複雜了,要在本地搭建一個開發環境真的太麻煩了,那麼咱們怎麼使用xdebug來遠程調試呢?php

我這裏使用虛擬機搭建了一個模擬環境來實驗說明:web

1.虛擬機IP:192.168.174.130 ,虛擬機用於搭建lampp環境vim

2.實體機IP:192.168.174.1,這個是IDE的開發環境。服務器

首先我在虛擬機裏面安裝了一個lampp,並且增長了一vhosts,具體以下:ide

vim /opt/lampp/etc/extra/httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    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.comui

關鍵的一步咱們須要設置虛擬機中的php.ini來支持xdebug遠程調試,增長了以下代碼:spa

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_hostxdebug.remote_connect_back,remote_host要設置成服務器的ip,remote_connect_back要設置成1或者ondebug

到這裏,服務端就設置好了,接下來咱們來設置ide了,請原諒我是一個ide工具黨。我使用的Intellij IDEA,而PHPStorm的設置也是同樣的。調試

第一設置項目的server

在Host那裏要填上,可以正常訪問到虛擬機服務器的地址,咱們以前設置的虛擬域名是www.test.com,因此我圖上也是寫得這個。

最關鍵的設置地方就是要勾上這個路徑映射,而後將須要調試的文件寫上它在服務器上的路徑,好比我這裏須要調試a.php,而在虛擬機服務器上咱們設置的web目錄是/data/web/,那麼它映射的路徑就應該是/data/web/a.php了。

一切設置好了之後,就能夠像本地調試那樣開始了。

OK了,沒有什麼技術含量,但但願能幫到須要的朋友,注意把文章中得ip地址,修改你本身的服務器的地址。

相關文章
相關標籤/搜索