前言: 前邊文章曾經介紹過載windows下php的debug( phpstorm+Xdebug斷點調試PHP ) ,mac下的配置流程是一模一樣的,但是卻碰到了各種波折也是夠累的,碰到的坑現總結如下(其實二月份就寫了一直沒發),現在和大家分享出來。 步驟流程 一 . 下載並安裝自己php版本對應的xdebug 二. 進行設定檔的一致修改,包括php.ini 與phpstorm配置,chrome的xdebug配置 三. 在程式中打斷點,點擊“臭蟲”進行debug吧。
一.下載xdebug檔案
1.將phpinfo();的資訊全部輸入網址中的框,得到適配的xdebug版本: 網址: http://xdebug.org/wizard.php
2.下載並解壓 (自己知道版本的,不用上一步直接去下載,網址: http://www.xdebug.org/download.php) wget [下載地址] //如果不能使用wget,運行:[brew install wget];
sudo tar -zxvf xdebug-2.5.0.tgzcd xdebug xdebug-2.5.0
3.編譯完成得到xdebug.so
phpize./configure --enable-xdebug --with-php-config=/usr/bin/php-config (正確配置php-config的路徑)make
4.把
/xdebug-2.5.0/modules/
裡的xdebug.so檔案移動到php擴充裡
sudo find / -name xdebug.so //找到原來xdebug.so檔案存放地址
得到存放.so設定檔的地址 /usr/lib/php/extensions/no-debug-non-zts-20131226
5.複製過去
cp /xdebug-2.5.0/modules/xdebug.so /usr/lib/php/extensions/no-debug-non-zts-20131226
6.重啟apache
sudo apachectl restart
小插曲: 上邊第五步複製移動的時候,失敗了
提示: cp: /usr/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so: Operation not permitted 原來是OSX 10.11 El Capitan(或更高)新添加了一個新的安全機制叫系統完整性保護System Integrity Protection (SIP), 所以對於目錄/System /sbin /usr(不包含(/usr/local/)不能修改 得把它關掉才行,步驟: a.重啟電腦 b.按住Command + R (重新亮屏之後就開始按,出現蘋果標誌,ok) c.菜單“工具 + 生產力” ==>> “終端” ==>> 輸入csrutil disable; 執行後會輸出:Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect. d.再次重啟系統
重啟後,重複上邊的步驟,再來一次 cp /xdebug-2.5.0/modules/xdebug.so /usr/lib/php/extensions/no-debug-non-zts-20131226
成功移動。
二. 相關檔案的配置流程
1.配置php.ini
sudo vi /private/etc/php.ini
[xdebug]zend_extension="/usr/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so"xdebug.remote_enable = Onxdebug.remote_handler = dbgp xdebug.remote_host= localhostxdebug.remote_port = 9000xdebug.idekey = PHPSTORM
sudo apachectl resrart //重啟apache
查看phpinfo() 搜尋xdebug看到了你下載的對應版本,說明安裝成功。 查看phpinfo(); 顯示安裝和成功
2.配置phpstorm 進入File>Settings>PHP>Debug,看到XDebug選項卡,port填9000,其他預設 進入File>Settings>PHP>Debug>DBGp Proxy,IDE key 填 phpStorm,host 填localhost,port 填80 可參考 - phpstorm+Xdebug斷點調試PHP : http://blog.csdn.net/ty_hf/article/details/50768702
3.配置chrome的xdebug a.安裝chrome的debug 下載地址 : http://download.csdn.net/detail/ty_hf/9762139 下載完拖入瀏覽器即可。 (或者越獄去chrome商店下載,搜尋 xdebug,下載,安裝) https://chrome.google.com/webstore/search/xdebug?hl=zh-CN
b.運行
三.斷點測試 這裡不再贅述,詳情可以參考windows下的調試過程: phpstorm+Xdebug斷點調試PHP : http://blog.csdn.net/ty_hf/article/details/50768702 1.
2.
3.
四。碰到的坑 故事小插曲,博主再調試過程中碰到的坑: 問題1:所有安裝全部都正確,但就是無法xdebug,為何。 原來調試過windows下的xdebug,其實流程是一毛一樣的,只是在php.ini設定那一步不一樣,要指向dll變成.so檔案,換作業系統的嘛大家都懂,但是就是死活調不通。 原因:內建xdebug.so版本不對,mac內建xdebug.so 為2.3版本(phpinfo中看),請安裝上文提到的檢測出來的版本對應的xdebug.so,我的是2。5的版本 問題2.:Google瀏覽器的xdebug外掛程式死活啟動不了,是灰色的。 alt+shift+x 啟動它,但是不亮,後來經過測試,是因為我連接埠用了9100,別想太多了,乖乖先用9000就好了 問題3.:編譯新版xdebug後移動xdebug.so失敗 提示:Operation not permitted 原因:mac os的自我保護機制,把sip保護關掉。 五.相關文章: phpstorm+Xdebug斷點調試PHP : http://blog.csdn.net/ty_hf/article/details/50768702 mac os如何關閉sip保護機制: http://blog.csdn.net/qq285744011/article/details/52810066 斷點調試環境的配置 http://www.tuicool.com/articles/aiE322z 本文地址:http://blog.csdn.net/ty_hf/article/details/72081965