1. 程式人生 > >phpstorm+Xdebug斷點除錯PHP

phpstorm+Xdebug斷點除錯PHP

前言:        何為DEBUG?        相信很多程式設計師都知道debug這個單詞,也明白它的意思,但是對於這詞的由來,恐怕少有人知道。關於debug的由來,要追溯到1937年。1937年,美國青年霍德華.艾肯找到IBM公司為其投資200萬美元研製計算機,第一臺成品艾肯把它取名為:馬克1號(mark1),又叫“自動序列受控計算機”,從這時起IBM公司由生產製表機,肉鋪磅秤,咖啡研磨機等亂七八糟玩意兒的行業,正式跨進“計算機”領地。為馬克1號編制程式的是哈佛的一位女數學家格蕾絲·莫雷·赫伯,有一天,她在除錯程式時出現故障,拆開繼電器後,發現有隻飛蛾被夾扁在觸點中間,從而“卡”住了機器的執行。於是,霍波詼諧的把程式故障統稱為“臭蟲(BUG)”,把排除程式故障叫DEBUG,而這奇怪的“稱呼”,後來成為計算機領域的專業行話。從而debug意為程式除錯的意思。
官方給出的步驟:

執行環境:

PHPSTORM版本 : 8.0.1

PHP版本 : 5.6.2

xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dll

ps : php版本和xdebug版本一定要相對應

1. PHP安裝xdebug擴充套件

php.ini的配置,下面的配置僅供參考,路徑要換成自己的!

[xdebug]
zend_extension="D:\wamp\php-5.6.2-x64\ext\php_xdebug-2.2.5-5.6-vc11-x86_64.dll"
xdebug.remote_enable = On
xdebug.remote_handler = dbgp   
xdebug.remote_host= localhost
xdebug.remote_port = 9000
xdebug.idekey = PHPSTORM

ps : remote_handler 、remote_host、remote_port 這些都有預設值,但還是建議設定下,至少知道要設定這些引數~

檢視phpinfo~

【或者使用PHPstudy:其他選項選單/PHP擴充套件設定/PHP擴充套件/XDEBUG打上對鉤】

2.PHPSTORM設定

樓主以前一直用zendstudio,剛開始用phpstorm非常蛋疼,用了一段時間後發現還挺好用的~

       1.首先檢查phpstorm的xdebug配置

          這裡的debug port要和php.ini裡面的xdebug.remote_port相一致!預設是9000,如果9000埠被佔用的話,可以改成其他埠。

                


phpstorm配置

  • 客戶端除錯,開啟phpStorm,進入File>Settings>PHP>Servers,這裡要填寫伺服器端的相關資訊,name填localhost,host填localhost,port填80,debugger選XDebug
  • 進入File>Settings>PHP>Debug,看到XDebug選項卡,port填9000,其他預設
  • 進入File>Settings>PHP>Debug>DBGp Proxy,IDE key 填 phpStorm,host 填localhost,port 填80
  • 點OK退出設定。

            2. 設定debug.

            

           

新增本地的 web server~

 www.mall.com是我本地的服務



3.開始除錯

  1. 打好第一個斷點,shift + F9就可以了

  2. 打好第一個斷點,選中配置的debug,  按旁邊的臭蟲 按鈕

或者還是看不懂,好吧,那請看下面連結:

常見問題:

Debug session was finished without being paused
It may be caused by path mappings misconfiguration or not synchronized local and remote projects.
 To figure out the problem check path mappings configuration for 'www.test.com' server at PHP|Servers or enable Break at first line in PHP scripts option (from Run menu).

   沒有打斷點或者除錯沒有被監測到,碰到這個問題,看看路徑配置對了嗎是否能訪問到

本文地址:http://blog.csdn.net/ty_hf/article/details/50768702