[史上最佳 Mac+PhpStorm+XAMPP+Xdebug 集成開發(fā)和斷點(diǎn)調(diào)試環(huán)境的配置]
(原文地址http://www.cnblogs.com/lishiyun19/p/4470086.html)
在上一篇 PHP 系列的文章《PHP 集成開發(fā)環(huán)境比較》中,我根據(jù)自己的親身體驗(yàn),非常簡(jiǎn)略的介紹和對(duì)比了幾款常用的集成開發(fā)環(huán)境,就我個(gè)人而言,比較推崇 Zend Studio 和 PhpStorm,在隨手問(wèn)過(guò)度娘和谷歌之后,我發(fā)現(xiàn)可以搜到很多 Windows 下介紹配置的版本,卻鮮有關(guān)于 Mac 下的配置信息,于是我決定自己寫一篇。
本文主要闡述在 Mac 下對(duì) PhpStorm 開發(fā)環(huán)境和 Xdebug 調(diào)試環(huán)境的安裝與配置,由于 PhpStorm 不像 Zend 公司為 Zend Studio 那樣配套集成了很多開發(fā)部件,包括解釋器、調(diào)試器、虛擬機(jī)、服務(wù)器、開發(fā)框架等等。因此,配置 PhpStorm 開發(fā)環(huán)境相對(duì)較繁瑣,有很多需要注意的地方。本文非常系統(tǒng)和全面的介紹了整個(gè)開發(fā)和調(diào)試環(huán)境的配置,旨在希望能成為最優(yōu)秀的 Mac 上配置 PHP 開發(fā)環(huán)境教程。
一、下載
PhpStorm 是 jetBrains 公司的收費(fèi)產(chǎn)品,但對(duì)于學(xué)生和教師有免費(fèi)版,另外,在天朝,收費(fèi)根本不是事兒...
XAMPP 是一個(gè)免費(fèi)的、跨平臺(tái)、多功能的軟件站集合包,主要包含最新的 Apache、MySQL、PHP、PERL 發(fā)行版本,這樣可以省去了很多關(guān)于選擇 MySQL 和 PHP 的編譯與配置選項(xiàng)的繁瑣,使得大家可以專注于編程。
二、安裝
至于安裝么,大家都是程序員,我想這個(gè)應(yīng)該不需要我贅述了...
三、配置
安裝好 PhpStorm 后就要開始新建第一個(gè)項(xiàng)目了,和 IntelliJ IDEA 非常的相似,事實(shí)上,jetBrains 家族的集成開發(fā)環(huán)境都高度的相似,熟悉其中一個(gè),就好比打通了任督二脈,再學(xué)習(xí)和使用起來(lái)就非常的方便了,好了,閑話不繼續(xù)扯了...
1、XAMPP 配置
1.1>添加 Xdebug 調(diào)試器
1)最新版本的 XAMPP 都默認(rèn)自帶了 xdebug.so 模塊[位于 no-debug-non-zts-20131226 包中]。

2)打開 Applications/XAMPP/etc/php.ini 配置文件,在最末尾處加入以下內(nèi)容。
[xdebug] zend_extension=/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so xdebug.remote_autostart=on xdebug.remote_enable=on xdebug.remote_enable=1 xdebug.remote_mode="req" xdebug.remote_log="/var/log/xdebug.log" xdebug.remote_host=localhost/127.0.0.1 xdebug.remote_port=9000 xdebug.remote_handler="dbgp" xdebug.idekey="PhpStorm"

1.2>設(shè)置完成后重啟 Apache,在瀏覽器中輸入 http://localhost/xampp/ 查看 phpinfo() 信息,這樣就完成了 PHP 調(diào)試器 Xdebug 的初始配置。

2、PHPStorm 配置
2.1> 開發(fā)環(huán)境的初始化
1)打開 PhpStorm->Create New Project->設(shè)置默認(rèn)的路徑 /Applications/XAMPP/htdocs/ (個(gè)人建議就設(shè)置到 XAMPP 的這個(gè)默認(rèn)路徑)->項(xiàng)目名稱。

2)新建一個(gè) .php 文件并設(shè)置行號(hào),右鍵單擊勾選。

3)設(shè)置 IDE 主題,推薦 Darcula 暗黑系列,眼睛長(zhǎng)時(shí)間看著也不會(huì)感覺(jué)疲勞。

4)設(shè)置字體和文字大小,推薦 Monaco 和 Menlo 字體,在 Mac 上顯示的非常漂亮。

5)PHP 是解釋型動(dòng)態(tài)語(yǔ)言,所以必須設(shè)置 PHP Interpreters 解釋器[位于 ../XAMPP/bin 目錄中],特別注意:由于受限于 PhpStorm 的內(nèi)置的 PHP 版本,XAMPP 中的 PHP 版本不可過(guò)高,否則會(huì)出現(xiàn)無(wú)法識(shí)別 PHP Version 和 Debugger 的情況。

6)最后檢查一遍 PHP 的編碼風(fēng)格是否適合你或者你的團(tuán)隊(duì),PHPDoc 提供了標(biāo)準(zhǔn)代碼注釋參考方式,有少量的定制化選項(xiàng)。

2.2> Xdebug 和服務(wù)器的配置
1) 打開 File>Settings>PHP>Servers,添加 Web Application Debug 服務(wù)器。

2) 打開 File>Settings>PHP>Debug,查看 Xdebug 配置信息,其中的 Debug port 是否是 9000 (其實(shí)就是看看是否和前面服務(wù)端 php.ini 里的 xdebug.remote_port 保持一致,或設(shè)置其他較大端口如:10000,只要二者相同即可)。

3)打開 File>Settings>PHP>Debug>DBGp Proxy 下,IDE key 可以隨便填寫如:PhpStorm,Host 可以設(shè)置為 localhost 或者 127.0.0.1,port 是指 HTTP 端口,默認(rèn)是 80,當(dāng)然可以隨意修改,把服務(wù)器的 HTTP 端口設(shè)置成一樣就成。

3、瀏覽器擴(kuò)展配置
PHP 是強(qiáng)大的 Web 開發(fā)語(yǔ)言,假若沒(méi)有瀏覽器來(lái)進(jìn)行聯(lián)合調(diào)試簡(jiǎn)直就是笑話,一般來(lái)說(shuō),推薦大家使用 Chrome 瀏覽器和 Firefox 瀏覽器來(lái)進(jìn)行開發(fā)(二者選一即可):
3.1>Chrome 下我推薦 JetBrains IDE Support 插件(俗稱 JB 大插件),官方開發(fā)的插件契合度自然非常的高,不需要配置即可直接使用,不需要刷新和運(yùn)行即可實(shí)時(shí)顯示你編寫代碼的內(nèi)容(主要是 html 標(biāo)記語(yǔ)言),非常方便,強(qiáng)烈推薦使用?! ?br>

3.2>Firefox 下我推薦 The easiest Xdebug 插件,在選項(xiàng)中設(shè)置 IDE key = PhpStorm (即與 DBGp Proxy 下設(shè)置的IDE key一樣即可),配置起來(lái)也不復(fù)雜。

四、調(diào)試
好了,對(duì) Xdebug 和 PhpStorm 的配置現(xiàn)在可以告一段落,那么我們現(xiàn)在就開始來(lái)調(diào)試測(cè)試一番,看看上述的配置有沒(méi)有問(wèn)題。
1)激活 PHPStorm IDE 的 "Start Listen for PHP Debug Connections" 按鈕(右上角 Debug 區(qū)類似電話的圖標(biāo),帶紅色禁止小圓圈標(biāo)志表示未激活,變綠表示正在監(jiān)聽中)。

2)設(shè)置斷點(diǎn)。

3)點(diǎn)擊爬蟲按鈕開始 debug 狀態(tài)。

4)瀏覽器會(huì)開始彈窗等待調(diào)試會(huì)話,按 F7 便可逐行進(jìn)行斷點(diǎn)調(diào)試,再也不需要 echo 或者 print 這樣繁瑣的打印調(diào)試了。

五、總結(jié)
1)端口號(hào)設(shè)置一定要相同,如:Xdebug Port、HTTP Port。
2)IDE Key 設(shè)置也一定要相同。
3)有一點(diǎn)我也沒(méi)有弄清楚,就是 PhpStorm 在 debug 模式下生成的文件(在 /bin/debug 虛擬目錄中),總會(huì)提示要求做 path mappings,但其實(shí)項(xiàng)目的源文件就在 Web 的根目錄下,非 remote debug 模式無(wú)需做 path mappings,不知是什么原因一直 warning,十分不爽。

4)關(guān)于 PhpStorm 使用的快捷鍵、git/svn 版本控制、配置 FTP 服務(wù)等等使用技巧,因?yàn)槟壳氨静└鱾€(gè)系列文章剛剛起步,正在拼命撰寫當(dāng)中,也許未來(lái)某天考慮寫一篇全程指南教程,先看看本文的反響如何再說(shuō)吧。
5)對(duì)于 Unix/Linux 感興趣的程序員,我建議下載源代碼,自己來(lái)編譯安裝,加深對(duì) Apache、PHP 和 MySQL 模塊的認(rèn)識(shí)。