PHP設定單步調試
一直看看PHP文法,最近看貌似很火的laravel,還有一個基於laravel/framework的OctoberCRM,一直沒找到方式做單步調試,今天總算達成了。
IDE用的Intellij idea,Android Studio就是基於這個玩意搞的,也是由於Android Studio我才開始接觸這個IDE,後來看PHP,就裝了個外掛程式,就叫PHP吧,然後編寫PHP代碼,提示做的挺好的,我一般用IDE都是看兩個內容,一是提示,二是debug,debug今天搞好了,可以單步了。
我選用了xdebug,沒有為什麼,我正好搜到了http://nixmash.com/php/configuring-php-debugging-in-intellij-idea-with-xdebug/這篇文章,我的目的也僅僅是能單步調試。
1,安裝xdebug,具體安裝安裝參考http://xdebug.org/wizard.php,只需要把你本地的phpinfo()內容給那個網址分析一下,你也可以>php -i輸出同樣的資訊,你就可以按照步驟一步步安裝了,so easy!
2,配置xdebug, 按照第一步安裝好xdebug之後,它有教你在php.ini配置,但是需要加上一句xdebug.remote_enable=on,這個在驗證的時候得用,其他的配置項使用預設的就好。
3,>sudo apachectl restart,重啟apache,你就可以看到xdebug資訊了
4,隨便建一個空白的php項目。
5,建立一個php檔案,隨便寫些語句,你可以用HTML嵌入PHP格式,或者一個純PHP,都可以。
比如:
<HTML>
<head>
<title>debug phptitle>
head>
<body>
<P>3+5=P>
<br/>
$a = 1;
$b = 2;
echo $a+$b;
?>
body>
HTML>
很簡單的加法,在$b=2;那一行打一斷點,帶回就會停在這裡。
6.菜單中Run->edit configurations,或者功能表列中也有,開啟
塗掉的紅色是我的使用者名稱,就不給大家看了,配置Yosemite AMP環境時,你可以用這種配置方式, apache/php都可以不用裝了,就安裝一個mysql,可以參考http://coolestguidesontheplanet.com/get-apache-mysql-php-phpmyadmin-working-osx-10-10-yosemite/,我記不得當時用的連結了,請原諒,貌似使用homebrew裝的mysql,所以得手動啟動,當然我也不喜歡自動開始,畢竟我不是每天都開發這個。php擴充mcrypt是要單獨裝的,homebrew也能搞定,其他貌似都有了。
好了,說回到intellij配置,左上方+添加一個PHP Web Application,Name可以隨便輸入。Start URL對應的能開啟就行。Server後面…開啟:
新增一個Server,連接埠號碼注意一下,待會兒Laravel預設用的是8000,系統預設的是80.
Validate remote environment開啟。這個很重要。
7,可以看到如下頁面:
information是我按過Validate之後顯示的,這是本地配置都正確的情況下得到。事實上,我在用Laravel下>php artisan serve的時候這裡是驗證不過的。
8,開啟Deployment server:
如下:
這裡選擇In place,瀏覽頁面可以填入你的頁面,laravel中可以直接填寫http://localhost:8000,好了,這裡完事了。
8,OK之後就這樣。
9,參考https://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm
,第四步:Activate debugger on server
10,你可以在你的chrome活著firefox上看到如下:
你得點擊start debugger,然後重新整理頁面,你就可以看到你的intellij斷點停住了,good,現在可以單步調試了。
ps:如我文中提到的,lavaral使用>php artisan serve可以很輕鬆的啟動項目,項目你可以參考learnlaravel5那個,官網有教程。我也是一步步做的。這條命令之後,你可以通過chrome直接存取http://localhost:8000訪問,OctoberCRM也是一樣的。
整個設定debug步驟都一樣,就是validate通不過,或者我在配置learnlaravel的時候不用php artisan serve啟動,但是我仍然沒有配置好.htacess,apache有很多配置我都不懂,好了,先這樣不用管那麼多,現在不管最後如何部署到伺服器,現在開發可以正常進行了。
希望以上內容能對你有所協助。
參考:
http://xdebug.org/wizard.php
http://nixmash.com/php/configuring-php-debugging-in-intellij-idea-with-xdebug/
https://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm