摘要:一直做php開發,有時候遇到一些小的邏輯bug,死活就是調不出來,累人。之前面試的時候被問到用什麼調試工具,懵逼……。工作中确認需求有需求一個調試工具,周内調了一整都沒調出來,周末整了一上午終于弄好了,記錄一下。
一、運作環境
- win7(64bit)
- wamp3.0.6 安裝路徑:E:\wamp64
- phpStrom9.0
- chrome51.0
二、調試過程
2.1 php安裝xdebug擴充
**坑:**php.ini配置檔案按道理來說應該是在:E:\wamp64\bin\php\php5.6.25\php.ini這裡,但其實不是這個檔案,我安裝的wam3.0.6如圖
從這裡打開php.ini,并打開這個檔案所在檔案夾是:E:\wamp64\bin\apache\apache2.4.23\bin,再看一下這個檔案的屬性:
是一個軟連接配接,這個檔案的實際位置是:E:\wamp64\bin\php\php5.6.25\phpForApache.ini
是以如果找網上的教程要修改php.ini檔案的話,就知道要改哪個檔案了。
幸運的是,這個版本的wamp自帶了xdebug,免去了網上下載下傳xdebug擴充的問題,這裡還要注意如果是自己下載下傳并配置php.ini的話,一要注意下載下傳的xdebug的版本号要和自己的php版本号要對應,另外下載下傳的時候,xdebug都可以選擇兩個版本,線程安全與否版本。
下來就是配置php.ini,我把自己的配置項貼上:
[xdebug]
zend_extension ="E:/wamp64/bin/php/php5.6.25/zend_ext/php_xdebug-2.4.1-5.6-vc11-x86_64.dll"
xdebug.remote_enable =
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=
xdebug.idekey="PHPSTORM"
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir ="E:/wamp64/tmp"
xdebug.show_local_vars=
說明其中幾項:
- remote_host,remote_port。xdebug貌似是通過本地的這個9000端口來 php 和 xdebug 和 phpStorm通訊調試的,是以這兩項很重要
- idekey,這個是與phpStrom裡面做辨別的,也很重要
配置完成後,在phpinfo()頁面可以看到:
說明php xdebug配置完成
2.2 phpStrom設定
直接上截圖:
setting裡面設定完成,然後開始設定debug
好了,到這裡就配置完成了,打開chrome浏覽器,在程式裡面打上斷點,點phpStrom右上角的蟲子debug按鈕,就打開了chrome浏覽器,發現url是這樣的:
http://localhost/tpProject/tpTest?XDEBUG_SESSION_START=19163
相當于給通路連結後面帶上GET參數,這次xdebug會話的編号,這個編号不用每次調試每次點debug按鈕,可以一直用這一個會話Id,需要在url上面帶其他url參數也是可以的。
OK,寫完啦,手疼……
<完>