成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Mac OS xDebug PhpStorm 快速配置

forrest23 / 1671人閱讀

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

前言

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

一、brew 安裝 php

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

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

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

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

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

doctor => 檢測如下:

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

如果你發(fā)現(xiàn)是用 josegonzalez/php 出錯(cuò),那么就可以 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)該不會(huì)出現(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

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

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

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

// 默認(rèn) Mac 的 php 位于 /usr/bin/php
// 如果這里的版本號(hào)不是 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)站目錄建一個(gè) php 文件,然后 phpinfo() 看一下具體配置。

三、配置 php.ini

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

所以我們?cè)谡{(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)會(huì)有擴(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 端口我失敗了,所以最好改動(dòng)一下,避免 fuck
xdebug.remote_port = 9010
; 使用 dbgp 做 80 端口代理
xdebug.remote_handler = dbgp
; 這里的 的 key 必須和到時(shí)候 IDE 中的一致
xdebug.idekey = PHPSTORM
; 輸出的日志文件,個(gè)人覺得很重要
xdebug.remote_log = /tmp/xdebug.log

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

相關(guān)報(bào)錯(cuò)信息:

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 對(duì)應(yīng)上哦,代理的是服務(wù)器地址和端口號(hào)

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

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

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

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

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

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

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


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

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

選擇我們配置的 Php Web Application

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

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

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

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/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ù)異常時(shí)。 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ù)異常時(shí)。在php于phpstorm都安裝在同一環(huán)境下時(shí),配置phpstorm的xdebug調(diào)試并不是多困難的事情,但是如果你使...

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

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

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

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

    Coding01 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<