很多人喜歡用linux搭建php網頁語言運行環境,但由於linux高度自定義化,經常需要root運行命令,略顯高端,相對應的微軟的windows操作系統,用戶體驗不錯,可以借助windows自帶的IIS組件+PHP程序包,搭建一個合適的運行環境。
第一次接觸php是在2014-5月份左右,當時是自己的主攻方向是C#,對php比較排斥, 其中很多一部分原因,就是PHP的斷點調試一直無法配置成功,用echo打印日志的方式排錯,使得自己對php心生怨恨,而錯失了深入學習php的好機會。這次寫這篇隨筆,一方面是記錄自己php方向的起航,另一方面也是希望能幫助剛接觸php的初學者麼,能夠順利的配置php的環境,而不至於對php產生恐懼。
一、系統環境簡介
Windows系統是一個非常常見的系統。相信這裡也不用多做解釋。那麼如何開啟IIS(win8.1),其實網上已經有很多教程,我這裡只做簡單的介紹。
①安裝.net fromework 3.5
IIS運行需要依賴.net3.5,因此第一步就是安裝.net fromework3.5。安裝方法大致有兩種,一種是在線下載,速度非常慢(真的非常慢),這裡給大家介紹第二種,離線安裝.net fromework3.5。找到安裝win8的iso文件,加載到虛擬光驅中,如果有刻U盤系統的插入U盤即可。運行 “命令提示符(管理員)”(右鍵桌面的Win圖標),輸入命令“dism.exe /online /enable-feature /featurename:NetFX3 /Source:V:sourcessxs”,V盤表示虛擬光驅的盤符或U盤的盤符。
②開啟IIS
做開發的,開啟IIS應該是小case了。這裡就不多說了。
二、安裝
初始的IIS是不支持php的,所以我們先下載了PHP Manager這個工具,安裝成功後,可以在IIS中看到php manager的圖標,如下圖:
進入php manager。後續配置比較簡單,請自行百度,本文文的重點是講斷點調試,所以就不多啰嗦了。php配置完成後會看到如下界面:
將下載下來xdebug的解壓文件復制到php目錄的ext文件夾中
接下來就是IDE的安裝了,PHPStorm安裝還是很簡單的,這裡也不做多說,Xdebug helper是Chrome的一個擴展工具,在浏覽器中輸入chrome://extensions/,然後將下載下來的crx文件拖入該頁面就可以了。
三、配置
①Xdebug
Xdebug的配置網上一搜一大片,這裡只給出我的配置,在php.ini文件中,加入以下代碼,注意其中幾個文件的位置。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17[Xdebug] ;xdebug配置
zend_extension=
"D:/php/php-5.6.8-nts-Win32-VC11-x64/ext/php_xdebug-2.3.2-5.6-vc11-nts-x86_64.dll"
;載入Xdebug
xdebug.idekey=
"PHPSTORM"
xdebug.profiler_enable=on
xdebug.trace_output_dir=
"D:/php/xdebug-log"
;xdebug 的數據文件目錄
xdebug.profiler_output_dir=
"D:/php/xdebug-log"
;xdebug 的數據文件目錄
xdebug.auto_trace = On ;開啟自動跟蹤
xdebug.show_exception_trace = On ;開啟異常跟蹤
xdebug.remote_autostart = Off ;開啟遠程調試自動啟動
xdebug.remote_enable = On ;開啟遠程調試
xdebug.remote_handler=dbgp ;用於zend studio遠程調試的應用層通信協議
xdebug.remote_host=localhost ;允許連接的zend studio的IP地址
xdebug.remote_port=9001 ;反向連接zend studio使用的端口
xdebug.collect_vars = On ;收集變量
xdebug.collect_return = On ;收集返回值
xdebug.collect_params = On ;收集參數
xdebugbug.max_nesting_level = 10000 ;如果設得太小,函數中有遞歸調用自身次數太多時會報超過最大嵌套數錯
②PHPStorm
進入php設置
選擇php語言設置
添加解釋器,其實如果你在IIS中運行,是不用添加解釋器的,不過如果直接通過phpstorm來打開你的php代碼則需要添加解釋器,如下,按Alt+F2。通過解釋器運行php,是不需要安裝IIS的
接下來就是配置phpStorm的debug了。其實phpstorm的debug基本都有默認設置了,但我們最好還是要修改一下,因為可能9000端口被其他應用占用了。所以我們需要更改為其他端口,例如9001
注意:這裡的端口要與php.ini中xdebug中的端口配置一致,請看上面的配置代碼。
xdebug.remote_port=9001 ;反向連接zend studio使用的端口
③xdebug helper
它是Chrome的一個插件,真的很好用,配置很簡單,直接上圖
到這配置基本結束了。下面我們測試一下。
四、斷點調試測試
①找到頁面,開啟調試,點擊小蟲,選擇Debug。
②PHPstorm開啟監聽
刷新http://localhost/php/FirstPHP.php頁面
運行結果: