前言

這陣子因緣巧合接手了一個(gè)辣雞項(xiàng)目,是用世界上最好的拍黃片寫的,項(xiàng)目基本是另一個(gè)小伙伴在擼碼,我就兼職打雜和發(fā)布做點(diǎn)運(yùn)維的工作。

然后昨天項(xiàng)目上了測(cè)試版之后,一用起來Error滿天飛了。讓小伙伴查了很久都沒有頭緒,實(shí)在尷尬,只好自己動(dòng)手了...

作為一個(gè)后端狗,雖然知道PHP大體原理和框架,看著項(xiàng)目的業(yè)務(wù)邏輯也大體知道個(gè)所以然,在此之前還是沒擼過代碼的。

看代碼基本是Visual Studio Code或者HBuilder工具,本地跑代碼很白癡的在用phpStudy。

Error出來了,第一反應(yīng)就是debug咯...然后問了下小伙伴他以前怎么玩的,答曰:echo。

一口老血都...

查了下谷歌發(fā)現(xiàn),Visual Studio Code + 插件是完全可以用來調(diào)試PHP的,所以就擼起了。

Visual Studio Code + php-debug插件 + phpStudy + xdebug

安裝Visual Studio Code

首先肯定是先下載Visual Studio Code 咯。

安裝好之后,隨便在一個(gè)文件夾內(nèi)鼠標(biāo)“右鍵”,都能看到Open with code,打開之后如下圖:

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

安裝Visual Studio Code php-debug插件

裝好VS Code之后,接下來是安裝一下PHP-Debug插件了。我們?cè)诓寮坛撬阉饕幌聀hp,排名第二的PHP Debug就是我們要的插件了。
如下圖:
photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

裝好了之后重啟一下vs code即可。

phpStudy

對(duì)于我這種懶人來說,去配置什么PHP運(yùn)行環(huán)境肯定是不愿意的,那么類似的集成環(huán)境有么?

小伙伴和我說,你下個(gè)phpStudy擼就算了,別去倒騰什么版本了。

然后...

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

下載好了安裝完了,打開程序如下圖:

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

看了下功能,其實(shí)這個(gè)軟件就是集成了各種版本的PHP,可以方便切換PHP版本;同時(shí)自帶一個(gè)Apache和MySQL,各種配置管理起來也挺方便的。
(感覺dalao們應(yīng)該不怎么會(huì)用這么白癡的東西,233...

裝好之后,啟動(dòng)一下服務(wù),點(diǎn)擊一下phpMyAdmin,看看它打開的網(wǎng)站是否能登錄到本地的MySQL數(shù)據(jù)庫(kù)。

如果可以,說明PHP環(huán)境應(yīng)該是正常的了;如果有問題,請(qǐng)自行谷歌了...

接著切換PHP版本到意向版本,點(diǎn)擊一下運(yùn)行模式旁邊的“切換版本”就可以選擇版本了。

xdebug設(shè)置

xdebug是什么呢?

Xdebug作為PHP調(diào)試工具,提供了豐富的調(diào)試函數(shù),
也可將Xdebug安裝配置為zend studio、editplus調(diào)試PHP的第三方插件,

通過開啟自動(dòng)跟蹤(auto_trace)和分析器功能,可以直觀的看到PHP源代碼的性能數(shù)據(jù),
以便優(yōu)化PHP代碼。

引用自:[PHP調(diào)試工具Xdebug安裝配置教程]
(http://www.cnblogs.com/qiantuwuliang/archive/2011/01/23/1942382.html)

我們可以在xdebug.org(自備梯子)上面下載到PHP各個(gè)版本的xdebug dll使用。

不過當(dāng)我打開phpStudy的php-ini打算手動(dòng)開啟debug的時(shí)候,非常高興得發(fā)現(xiàn)已經(jīng)phpStudy已自帶了對(duì)應(yīng)版本的xdebug,而且路徑都配好了。

phpStudy的php.ini在“其他選項(xiàng)-打開配置文件-php-ini”,如下圖:

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

把文檔拉到最后,看得到xdebug的配置如下:

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

phpStudy已經(jīng)幫我們配置好xdebug dll的路徑了,我們只需要手動(dòng)在zend_extension上面添加遠(yuǎn)程調(diào)試和自動(dòng)啟動(dòng)配置即可,代碼如下:

xdebug.remote_enable = 1
xdebug.remote_autostart= 1

完整配置如下:

[XDebug]
;xdebug.profiler_output_dir="C:\phpStudy\tmp\xdebug";xdebug.trace_output_dir="C:\phpStudy\tmp\xdebug"xdebug.remote_enable = 1
xdebug.remote_autostart= 1
;你的PHP版本的php_xdebug.dll,phpStudy自動(dòng)設(shè)置的
zend_extension="C:\phpStudy\php\php-5.5.38\ext\php_xdebug.dll"

保存文件,重啟一下phpStudy服務(wù)。

Visual Studio Code 設(shè)置用戶配置和調(diào)試配置

這個(gè)時(shí)候,我們隨便在PHP文件夾中打開vs code,vs code會(huì)自動(dòng)提示我們:Cannot validate since no PHP executable is set. Use the setting 'php.validate.executablePath' to configure the PHP executable.

嗯,沒有設(shè)置PHP執(zhí)行文件,可以通過設(shè)置php.validate.executablePath屬性來配置它。

這個(gè)在哪配置呢?在“文件-首選項(xiàng)-設(shè)置”,打開之后如下圖:

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

這個(gè)php.validate.executablePath對(duì)應(yīng)就是當(dāng)前phpStudy中運(yùn)行的php.exe的路徑,可以在phpStudy-其他選項(xiàng)菜單-打開文件位置-PHP中找到此路徑。

保存好了之后,回到Visual Studio Code界面,轉(zhuǎn)到Debug,選擇添加配置,之后選擇PHP,生成如下圖的launch.json:

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

不用改任何東西,直接開擼...

開啟Debug

確保phpStudy啟動(dòng)了,網(wǎng)站也正常運(yùn)行起來了,然后在Visual Studio Code中啟動(dòng)調(diào)試,打上要的斷點(diǎn),接著啟動(dòng)調(diào)試。

如下圖:

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

接著訪問你要調(diào)試的頁面對(duì)應(yīng)的PHP代碼,打上你的斷點(diǎn),華麗麗的Debug出來了...

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

F10單步調(diào)試,F(xiàn)11跳入函數(shù),F(xiàn)5直接運(yùn)行之類的快捷鍵自己玩吧。

其他運(yùn)行環(huán)境下的配置

基本沒什么區(qū)別,配置php.ini,下載到對(duì)應(yīng)版本的xdebug.dll,php.validate.executablePath配置正確就完事。

其他參考鏈接: