浪費一天時間才發現Wampserver原來自帶php_xdebug調試用的DLL,php_xdebug官網的自動識別DLL的版本的功能也不是那麼準,有時候就識別不出,沒想到Wampserver居然自帶。但是php_xdebug調試功能默認是沒有配置好的,得自己手動配置PHP.INI文件,此文件如下圖這樣打開。
然後拉到這個文件的最底部就會看見"[xdebug]"這個標題,我這裏原版沒改動時候的內容是這樣的:
[xdebug]
zend_extension ="c:/wamp/bin/php/php5.6.25/zend_ext/php_xdebug-2.4.1-5.6-vc11.dll"
xdebug.remote_enable = off
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = Off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir ="c:/wamp/tmp"
xdebug.show_local_vars=0
可以看到Wampserver自帶php_xdebug,及其目錄。下面需要修改一下設置讓其生效:
zend_extension ="c:/wamp/bin/php/php5.6.25/zend_ext/php_xdebug-2.4.1-5.6-vc11.dll"
;開啓遠程調試
xdebug.remote_enable = On
;客戶機ip
xdebug.remote_host="localhost"
;客戶機xdebug監聽端口和調試協議
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
;idekey 區分大小寫
xdebug.idekey="PHPSTORM"
;可以是任意Key,這裏設定爲PHPSTORM
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "c:/wamp/tmp"
這樣設置完後需要重啓一下Wampserver的所有服務,或者乾脆直接退出Wampserver,再打開。
要驗證php_xdebug是否已經啓用,可以點擊Wampserver的菜單裏的localhost,如下圖,只要index.php用PHP命令"phpinfo()"輸出一下php的相關信息,也就是如下圖:
然後在瀏覽器裏按Ctrl+F搜索 xdebug ,在沒有配置之前搜xdebug是什麼都沒有的,如果配置成功又重啓過Wampserver的所有服務後,再搜就會這樣:
出現上圖的情況了說明xdebug啓用成功。
接下來就是設置PhpStorm,我用的是JetBrains PhpStorm 2019.1 x64 這個PhpStorm版本,在新的版本里原來用的"PHP Web Application"工具改名了,改成了"PHP Web Page",就連出現位置也改了,坑得死人,首先需要設置一下PhpStorm的界面,如下圖:
把這幾個√都勾上。
然後點開設置
再設置同欄目下的DBGp Proxy
然後點擊下圖的這個地方,沒有設置成功的時候這裏顯示的是not…… 一串英文,點擊它,如下圖的位置:
再點擊那個+號,如下圖
再點...那個按鈕,如圖
然後出現這個界面
照着圖設置
選中後彈出測試窗口,紅框框裏面一定要填上正確的apache根WEB目錄地址,因爲測試的是ThinkPHP框架文件,所以需要把默認www目錄設置爲C:\wamp\www\public,如果用C:\wamp\www 是沒有作用的,會導致測試失敗。點擊Validata按鈕開始測試。
測試成功。
需要說明的是點一次+號選中PHP Web Page後並不會添加成功,在左側欄中只會出現Templates這麼個選項,此時需要再點一次+號,再添加一次PHP Web Page,纔會如圖中這樣單獨出現一個"PHP Web Page"單項,這樣最後才能在主界面上選上這個"haha"的測試配置。
然後在需要下斷點的左側點一下,再點紅框中的那個蟲子圖標:
需要在紅框內正確填上需要測試的具體的PHP文件的路徑,然後點"Debug"。
參考資料:https://blog.csdn.net/yinhangbbbbb/article/details/79247331