成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Mac OS xDebug PhpStorm 快速配置

forrest23 / 1612人閱讀

摘要:確定環(huán)境的干凈。這一步要優(yōu)化的話應(yīng)該是做一個類似緩存的機(jī)制,對于這種配置加載的性能提升所以我們在調(diào)試必然是要在這里配置環(huán)境的接口。

前言

在網(wǎng)上找了一些相關(guān)配置的例子,覺得很多比較復(fù)雜,并且配置項(xiàng)過于多了,有很多冗余并不是最開始就需要的配置,所以寫一下記錄,也方便以后自己查閱。

一、brew 安裝 php

在 Mac OS 這邊不需要手動去下載編譯打包,直接使用 brew 進(jìn)行快捷安裝會比較方便管理,對于最原始的打包安裝方式也可以,不過需要自己去創(chuàng)建一些 link 所以這里只記載 brew 的方式。

確定 brew 環(huán)境的干凈。

確定 php 版本,這里是用 php54,如果有多版本切換的需求可以安裝 php-versionbrew-php-select,前者是用 brew 可以安裝,后者依賴 npm。

安裝 php54-xdebug,因?yàn)?xdebug 會有一個映射版本。

// 檢測一下 brew 環(huán)境
brew doctor
// 升級一下 brew
brew update
// 查看 brew 擁有的 tap
brew tap
// 查看 brew 已安裝的工具
brew ls

doctor => 檢測如下:

tap => 查看如下,主要是看一下 homebrew/php,不然到時候會輸入全名比較麻煩:

如果你發(fā)現(xiàn)是用 josegonzalez/php 出錯,那么就可以 brew untap josegonzalez/php,因?yàn)橹髴?yīng)該都遷移到了統(tǒng)一的 homebrew/php 庫中,然后需要檢查 .zshrc ( 或者 .bashrc ) 文件的 PATH,記得重新修改為 homebrew/php。

brew install php54 php54-xdebug

這里安裝比較簡單,主要是要記得看清楚安裝完后的配置信息提示,重要信息:

php.ini

auto start php

php 相關(guān)的一些路徑

brew 的常規(guī)目錄:

/usr/local/bin
/usr/local/etc
/usr/local/opt

這里安裝應(yīng)該不會出現(xiàn)什么問題,接下來配置 Apache 2 這里我用的是 Mac OS 自帶的,如果有 Nginx 玩家也是一樣的。

二、配置 Apache
sudo vi /etc/apache2/httpd.conf
// 配置需要的解析模塊
LoadModule php5_module /usr/local/opt/php54/libexec/apache2/libphp5.so

這里主要會出現(xiàn)的問題就是之前已經(jīng)有解析模塊的情況,會默認(rèn)使用最開始定義的解析模塊,所以需要仔細(xì)查看是否定義重復(fù)了。

接下來是驗(yàn)證一下我們系統(tǒng)的 php 版本號和 php 解析是否正確:

Apache 的一些具體配置可以查看我之前寫的 Mac OS X 10.9配置AMP環(huán)境

// 默認(rèn) Mac 的 php 位于 /usr/bin/php
// 如果這里的版本號不是 php54,檢查 PATH
php -v

// curl 一下配置
curl -IL http://127.0.0.1:80

// 正常情況應(yīng)該返回,主要是 php 的版本
HTTP/1.1 200 OK
Date: Sun, 21 Aug 2016 19:14:58 GMT
Server: Apache/2.4.18 (Unix) PHP/5.4.45
X-Powered-By: PHP/5.4.45
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: PHPSESSID
Content-Type: text/html

當(dāng)然,你也可以在網(wǎng)站目錄建一個 php 文件,然后 phpinfo() 看一下具體配置。

三、配置 php.ini

因?yàn)?php 文件是動態(tài)的,所以 Web 服務(wù)器必然會去加載 php 解析器模塊去理解文件,然后 php 的解析器的一些配置在 php.ini 中,所以該解析器就會去加載這個文件,最后得到執(zhí)行環(huán)境。(這一步要優(yōu)化的話應(yīng)該是做一個類似緩存的機(jī)制,對于這種配置加載的性能提升)

所以我們在調(diào)試 php 必然是要在 php.ini 這里配置環(huán)境的接口。直接開始:

; prefix => /usr/local/etc/php/5.4/
; 該參數(shù)是要加載的 xdebug.so 模塊,具體是 ext 可以到
; /usr/local/etc/php/5.4/ext 去查看詳情,默認(rèn)會有擴(kuò)展的目錄
; 該配置配置于:conf.d/ext-xdebug.ini
; zend_extension = ext/xdebug.so
; 遠(yuǎn)程是否可以用,必須
xdebug.remote_enable = on
; 遠(yuǎn)程的 host,默認(rèn)本地,然后可以配置為 vagrant 的地址
xdebug.remote_host = 127.0.0.1
; 使用非 9000 默認(rèn)端口,9000 端口我失敗了,所以最好改動一下,避免 fuck
xdebug.remote_port = 9010
; 使用 dbgp 做 80 端口代理
xdebug.remote_handler = dbgp
; 這里的 的 key 必須和到時候 IDE 中的一致
xdebug.idekey = PHPSTORM
; 輸出的日志文件,個人覺得很重要
xdebug.remote_log = /tmp/xdebug.log

2016-09-05 更新,主要是 xdebug.ini 相關(guān)

相關(guān)報錯信息:

Failed loading ext/xdebug.so: dlopen(ext/xdebug.so, 9): image not found

(1)注釋 php.ini 文件中的 zend_extension = ext/xdebug.so 改到 /usr/local/etc/php/5.4/conf.d/ext-xdebug.ini 中進(jìn)行配置
(2)注釋 ext-xdebug.iniphp54-xdebug 的相關(guān)配置
(3)最后 ext-xdebug.ini 中配置如下:

[xdebug]
; prefix => /usr/local/etc/php/5.4/
zend_extension = /usr/local/opt/php54-xdebug/xdebug.so

基本上上面的文件是剛需吧,然后必須要重啟 Apache

sudo apachectl restart
四、配置 PhpStorm 工具

先把 xdebug 的監(jiān)聽端口修改

然后設(shè)置 PHP dbgp 代理

這里必須和 php.ini 中的 key id 對應(yīng)上哦,代理的是服務(wù)器地址和端口號

設(shè)置 servers 目錄和服務(wù)器信息
這里目錄一定要設(shè)置正確,絕對目錄映射

對 php 的基本設(shè)置,和 java jar 差不多的東西

(1) 先點(diǎn)開詳情

(2) 選擇 php 的執(zhí)行器目錄

這里我選擇的是軟連接的目錄,這樣比較方便,可以在下面這里找到。

配置結(jié)果,這里還可以檢查一下 php.ini 改動正確沒有:

(3) 配置 PHP Web 應(yīng)用的信息,主要是映射地址和默認(rèn)瀏覽器


(4) 啟動調(diào)試模式

先打開最右邊像電話一樣的東西(應(yīng)該是連通監(jiān)聽,如果沒有高亮就等一會,phpstorm 初始化)

選擇我們配置的 Php Web Application

點(diǎn)擊爬蟲(調(diào)試按鈕)

(5) 打個斷點(diǎn)測試一下

雖然比 Node 那邊調(diào)試起來比較麻煩,不過能看到變量和詳細(xì)信息還是值得,原理和 Chrome Listener 基本差不多,大家也可以對比配置。

原文出自博客:http://www.60sky.com

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/30440.html

相關(guān)文章

  • PhpStorm連接docker容器內(nèi)的php XDebug進(jìn)行斷點(diǎn)調(diào)試

    摘要:連接容器內(nèi)的進(jìn)行斷點(diǎn)調(diào)試進(jìn)行斷點(diǎn)調(diào)試盡管不像其他語言那樣方便,但是有些是有確實(shí)有其用處,比如調(diào)試循環(huán)內(nèi)的數(shù)據(jù)異常時。 PhpStorm連接容器內(nèi)的XDebug進(jìn)行斷點(diǎn)調(diào)試 php進(jìn)行斷點(diǎn)調(diào)試盡管不像其他語言那樣方便,但是有些是有確實(shí)有其用處,比如調(diào)試循環(huán)內(nèi)的數(shù)據(jù)異常時。在php于phpstorm都安裝在同一環(huán)境下時,配置phpstorm的xdebug調(diào)試并不是多困難的事情,但是如果你使...

    XGBCCC 評論0 收藏0
  • Docker快速搭建一套PHP、Nginx、MySQL、Redis、Xdebug、Memcached

    摘要:痛點(diǎn)如何簡單迅速地初始化一個全新的開發(fā)環(huán)境呢筆者在嘗試起一個新項(xiàng)目時,往往會陷入重新建立一套環(huán)境的繁瑣事當(dāng)中。架構(gòu)本片文章搭建出來的環(huán)境如上圖。網(wǎng)絡(luò)這部分,為了便于配置就手動分配了。配置開啟記錄了一般性的查詢?nèi)罩?,便于程序? 痛點(diǎn) 如何簡單迅速地初始化一個全新的PHP開發(fā)環(huán)境呢? 筆者在嘗試起一個新web項(xiàng)目時,往往會陷入重新建立一套Docker環(huán)境的繁瑣事當(dāng)中。我想大家在開始做一個新...

    kk_miles 評論0 收藏0
  • Docker快速搭建一套PHP、Nginx、MySQL、Redis、Xdebug、Memcached

    摘要:痛點(diǎn)如何簡單迅速地初始化一個全新的開發(fā)環(huán)境呢筆者在嘗試起一個新項(xiàng)目時,往往會陷入重新建立一套環(huán)境的繁瑣事當(dāng)中。架構(gòu)本片文章搭建出來的環(huán)境如上圖。網(wǎng)絡(luò)這部分,為了便于配置就手動分配了。配置開啟記錄了一般性的查詢?nèi)罩?,便于程序? 痛點(diǎn) 如何簡單迅速地初始化一個全新的PHP開發(fā)環(huán)境呢? 筆者在嘗試起一個新web項(xiàng)目時,往往會陷入重新建立一套Docker環(huán)境的繁瑣事當(dāng)中。我想大家在開始做一個新...

    Coding01 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<