1. 程式人生 > >Phpstorm 2017.1+PHPWAMP+Xdebug環境配置以及斷點除錯

Phpstorm 2017.1+PHPWAMP+Xdebug環境配置以及斷點除錯

首先先來說下IDE和服務環境的配置:

第一步,在PHPWAMP的站點根目錄下建立專案資料夾,然後把IDE專案檔案指向該檔案,如下圖所示:


第二步,建立檔案,然後通過伺服器進行顯示,這裡我寫了兩個檔案,分別是form.html,welcome.php:

form.html:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>菜鳥教程(runoob.com)</title>
</head>
<body>

<form action="welcome.php" method="post">
    名字: <input type="text" name="fname">
    年齡: <input type="text" name="age">
    <input type="submit" value="提交">
</form>

</body>
</html>

welcome.php:
<?php
@header("content-Type: text/html; charset=utf-8");
echo "歡迎 " . $_POST["fname"] . "!",PHP_EOL;
echo "你的年齡是 " . $_POST["age"] . "  歲。";
echo "你的年齡是 " . $_POST["age"]. $_POST["fname"] . "  歲。";
?>
第三步,配置伺服器,開啟File->Settings->Deployment進行如下配置:




注:這裡為什麼設定埠8080而不是80,因為PHPWAMP這個阿帕奇伺服器監聽的埠是8080,然後在Mappings設定的路徑就是專案路徑

然後啟動PHPWAMP服務,點選瀏覽器圖示,執行效果如下:



好的,首先解決在phpstorm上用服務去執行程式的問題,那麼接下來就要考慮如何除錯了,也是我花了很長時間去搞的一個問題。先說說我是怎麼解決的把,我們都知道phpstorm這個IDE用來除錯是需要外掛的支援,這個外掛就是Xdebug,於是我就百度了“phpstorm 配置 xdebug”,果然出現了一大堆,但是試了試都出現了同樣的問題,那就是沒辦法讓頁面阻塞從而進入斷點,然後在客戶端的控制檯卻可以輸出。。。於是作為初學者的我只能悶頭瘋狂加PHP群,抱大腿,但是很可惜最終也沒解決問題。於是我又從別的角度解決,我發現在debug執行的時候,雖然頁面一下輸出結果,但是在debug控制檯會有一個“waiting for incoming connection with ide key”這樣的提示,於是我直接複製百度,然後就得到了需要進行頁面控制元件一起配合才可以進行除錯,於是我就下載了一個chrome的擴充套件控制元件,xdebug helper,但是沒有翻牆,於是就又找了一個翻牆軟體,然後進行擴充套件。最後進行控制元件的配置之後,再次重啟服務,然後進行斷點除錯,我驚奇的發現除錯居然可以了。只能說萬能的百度,和自己不拋棄的精神最後還是有所收穫的吧,好了不雞湯了,接下來放上正片。

phpstorm + Xdebug 配置,進行頁面除錯

第一步,給php.ini檔案配置Xdebug,因為我用的是PHPWAMP整合服務,裡面已經都安好Xdebug了,並且已經放到了對應的目錄下面,所以只需要配置即可,我的配置檔案如下:

zend_extension = "D:\PHPWAMP\phpwamp\server\php-5.3.5\php_xdebug-2.1.0-5.3-vc6.dll"
;
[xdebug]
xdebug.remote_enable=1  //開啟遠端除錯
xdebug.var_display_max_children=128
xdebug.var_display_max_data=51200000
xdebug.var_display_max_depth=5
xdebug.remote_connect_back = 1
xdebug.remote_autostart = 1
xdebug.remote_port=9000
xdebug.idekey=PHPSTORM
第二步,開啟“File->Settings->Languages&Frameworks”找到PHP->Debug進行如下配置,其他不用管:


然後找到“Servers”,建立一個Sever,配置如下,然後點選“apply”:


第三步,選擇“Edit Configuration”,然後新增一個“PHP Application”,選擇之前設定sever,然後把要除錯的頁面路徑寫上就行,如下所示:


第四步,開啟電話圖示,然後點選昆蟲圖示進行斷點除錯,但是這裡卻會直接把整個頁面輸出:


我心裡當就是“WTF?WTF!...”(省略一萬字。。。)不過在之前也說了,我們只需要為谷歌瀏覽器新增一個外掛即可,這裡不贅述如何翻牆,直接截圖外掛配置:


最後最後,重啟服務,然後再次開啟電話圖示,然後點選昆蟲圖示,我驚奇的發現,進入了斷點~~


That's all~~~