PhpStorm8 + Vagrant +XDebug 配置

 vagrant默認已經安裝好xdebug,可經過phpinfo()來確認。php

下面是配置的步驟:git


Xdebug 與 PhpStorm 如何與 vagrant 進行溝通?shell

xdebug 與 phpstorm 之間的通訊是client-server模式。其中 xdebug 是 client, 他須要訪問 phpstorm。而 vagrant 就是他們之間溝通的橋樑。瀏覽器


配置xdebug服務器

首先經過命令行鏈接上vagrantapp

vagrant ssh

再輸入命令ssh

netstat -r

記住Gateway那一項的IP,一般是:
phpstorm

10.0.2.2

打開xdebug配置文件ide

cd /etc/php5/mods-available
vi xdebug.ini

將該文件內容改成:工具

zend_extension=/usr/lib/php5/20131226/xdebug.so
xdebug.idekey="debugit"  
xdebug.remote_host=10.0.2.2  
xdebug.remote_port=10000  
xdebug.remote_enable=1  
xdebug.remote_autostart=0  
xdebug.remote_handler="dbgp"


配置phpstorm,讓他可以接受來自xdebug的請求

ctrl+alt+s 打開phpstorm 配置窗口,進入 Languages & Frameworks -> PHP -> Debug頁面,將xdebug的端口設爲10000,並確認勾選 can accept external connection項。點擊apply保存。

對於phpstorm,vagrant至關於一個遠程服務器,因此須要爲phpstorm添加這個服務器以便通訊。進入 Languages & Frameworks -> PHP -> server頁面,填寫你的 vagrant 服務器信息,重要的是將你的本地代碼與虛擬機代碼映射起來(只須要映射 項目根目錄 與 站點根目錄)

添加一個php解釋器,進入 Languages & Frameworks -> PHP 頁面

寫博客時我已經導入完成了,正常狀況下,第一次設置須要手動導入vagrant自帶的php解釋器。點擊Interpreter右側的[...]按鈕,彈出如下窗口:

點擊+新建一個解釋器,Remote選擇Vagrant,Remote目錄就是你鍵入vagrant ssh的目錄,接下來填寫可執行php文件的目錄,若是填寫正確,點擊右側藍色同步按鈕後,就會自動識別出解釋器的版本信息。


建立一個phpstorm debug 配置

在IDE的工具欄點擊Run->Edit Configurations

點擊+建立一個PHP Web Application,爲他起一個名字,並將Server設置爲以前建立的Vagrant,點擊apply保存。

點擊 Run->start listening for php debug connections:

最後,在vagrant本地目錄下重啓虛擬機:

vagrant reload

在IDE設置好斷點,並點擊 Run->Debug 'Vagrant'就能夠進行調試了。

此時能夠清楚地看到棧信息,因爲代碼在斷點處中止執行,瀏覽器報 504 Timeout。

以上,phpstorm8 + vagrant + xdebug 的配置完畢。

相關文章
相關標籤/搜索