我們在軟件開發(fā)的時候,經(jīng)常要進行調(diào)試,其中有一種調(diào)試方法就是斷點,此時可以用PHP的Xdebug擴展來使用。
眉縣網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。1, 安裝PHP-Xdebug擴展;
sudo apt-get install php-xdebug
安裝完成后,用 php -v的命令查看結(jié)果
php -v PHP 5.6.30-12~ubuntu16.04.1+deb.sury.org+1 (cli) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans
可以看到已經(jīng)有Xdebug v2.5.5安裝好了.
2, 在php的配置文件中對xdebug擴展進行配置,這里有兩種方式:
a: 最直接的方式,是找到php.ini,在最后面加入以下配置項;
sudo vim /etc/php/5.6/fpm/php.ini
zend_extension=/usr/lib/php/20131226/xdebug.so xdebug.remote_host=localhost xdebug.remote_port=9100 xdebug.remote_enable=1 xdebug.remote_autostart=1
b: 另一種是在Xdebug的配置文件中,加入相同的配置項;
我們可以在/etc/php/5.6/fpm/conf.d中看到
20-xdebug.ini -> /etc/php/5.6/mods-available/xdebug.ini
可以進入這個文件中,看到這里已經(jīng)講zend_extension的路徑添加進去了,將其他配置添加進去
zend_extension=xdebug.so
以上兩種方法是等價的,因為php的配置文件會引入各個擴展的配置文件
我們逐項來看看這些配置分別代表什么意思
① xdebug.remote_host=localhost
Type:string, Default value:localhost
Selects the host where the debug client is running, you can either use a host name, IP address, or \'unix:///path/to/sock\' for a Unix domain socket. This setting is ignored ifxdebug.remote_connect_backis enabled.
Support for Unix domain sockets was introduced in Xdebug 2.6.
選擇debug客戶端在那個主機上運行,可以設(shè)置成一個host名稱,IP地址,或者Unix域名的路徑. 如果xdebug.remote_connect_back被設(shè)置為 enabled時,此host設(shè)置將被忽略。
② xdebug.remote_port=9100
Type:integer, Default value:9000
The port to which Xdebug tries to connect on the remote host. Port 9000 is the default for both the client and the bundled debugclient. As many clients use this port number, it is best to leave this setting unchanged.
這是Xdebug嘗試連接的遠程host的端口. 9000端口是客戶端和隨附的debug客戶端的默認端口。由于很多客戶端都使用這個端口號,這個配置一旦設(shè)好,最好保持不變。
③xdebug.remote_enable=1
Type: boolean, Default value: 0
This switch controls whether Xdebug should try to contact a debug client which is listening on the host and port as set with the settings xdebug.remote_host and xdebug.remote_port. If a connection can not be established the script will just continue as if this setting was 0.
此開關(guān)控制著Xdebug是否應(yīng)該嘗試聯(lián)系debug客戶端,這個客戶端正在監(jiān)聽配置好的host和port. 如果這項配置為0,則當無法連接時,腳本會啥都不做,繼續(xù)執(zhí)行。
④ xdebug.remote_autostart=1
Type:boolean, Default value:0
Normally you need to use a specific HTTP GET/POST variable to start remote debugging (seeRemote Debugging). When this setting is set to 1, Xdebug will always attempt to start a remote debugging session and try to connect to a client, even if the GET/POST/COOKIE variable was not present.
通常你需要使用一個特定的HTTP GET/POST 變量來啟動遠程bugging. 當此配置為1時, Xdebug將永遠會試圖遠程debugging session,并嘗試連接一個客戶端,即便 GET/POST/COOKIE變量沒有出現(xiàn)。
3, 重啟php服務(wù)
sudo service php5.6-fpm restart
4, 在IDE中添加Debug的Host和Port,進入PhpStorm->File->Settings->Languages & Frameworks->Servers->+
保存后,此時可以在具體的代碼文件頁面看到debug的標識,
在這里單擊一下,有一個紅色的圓圈,代表在此處設(shè)置一個斷點(break point)
用Postman請求到這個文件,可以看到在IDE下方,出現(xiàn)了很多信息
這些變量值直接展示出來了,而不要再另外去打斷點來查看。
當然,以上只是xdebug很小的一部分功能。更重要的是用來做性能分析,代碼邏輯優(yōu)化等,這個過一段時間再來更新。
標題名稱:PHP-Xdebug在PhpStorm中的使用
網(wǎng)頁網(wǎng)址:http://jinyejixie.com/article20/chojjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、動態(tài)網(wǎng)站、品牌網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、企業(yè)網(wǎng)站制作、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)