『壹』 大佬,請問一下php的debug和xdebug有啥區別
php的debug通常都瀏覽器列印信息進行調試,比如在代碼裡面使用 echo、 var_mp、print_r等輸出數據來查看代碼的執行。
優點:
簡單、使用方便
缺點:
要單步更追,比較費勁
xdebug是一個php的c語言擴展,支持單步調試打斷點。可以和IDE配合使用,可以輸出函數等調用次數時間。但是對程序有一定的消耗。跟追函數遞歸調用還是很方便的。
『貳』 PHP的擴展模塊怎麼添加
在PHP/etc 文件夾中加入擴展
在PHP 文件夾下的php.ini文件里 有很多dll文件的地方加入一行 你所添加的擴展的名字xxxx.dll
或者 是 在php.ini中直接打開對應的擴展 ,將目標行的 ; 給去掉
哦,對了,最後記得要重新啟動PHP的伺服器
『叄』 如何使用 Xdebug + Sublime Text 3 調試 PHP 代碼
Sublime是一款非常不錯的IDE工具,php開發中通常也用到。如此好用的工具如何調試呢,那就用到了xDebug。下面演示如何給Sublimetext2配置xdebug。 工具/原料 sublimetext2; apache伺服器,或其他web伺服器; 電腦。 方法/步驟 准備工作:開啟phpxdebug擴展。 下載擴展:php_xdebug-2.1.0-5.3-vc6.dll; 網路網盤下載地址: 下載好放在php下的擴展(ext)文件夾下: 如何給Sublimetext配置XDebug 設置php.ini配置文件: [XDebug]extension="php_xdebug-2.1.0-5.3-vc6.dll"xdebug.remote_enable=onxdebug.remote_handler="dbgp"xdebug.remote_host="127.0.0.1"xdebug.remote_port=9000 如何給Sublimetext配置XDebug 重啟apache,然後運行phpinfo();檢查xdebug是否安裝成功: 如何給Sublimetext配置XDebug 然後打開sublimetext軟體; 如何給Sublimetext配置XDebug 點擊菜單欄:View-》ShowConsole或者ctrl+~快捷鍵,調出控制台; 如何給Sublimetext配置XDebug 在命令欄輸入: importurllib2,os;pf='PackageControl.sublime-package'ipp=sublime.installed_packages_path();os.makedirs(ipp)ifnotos.path.exists(ipp)elseNone;urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace('','%20')).read());print('') 然後回車;
『肆』 如何在Mac OS X中安裝PHP擴展支持
安裝PHP擴展要求Mac系統已經安裝了Xcode環境和命令行開發工具,如果還沒安裝,可以使用Shell安裝。
xcode-select --install
為了擴展管理方便,首先來安裝pecl擴展管理器。
cd /usr/lib/php
sudo php install-pear-nozlib.phar
安裝Redis、Memcache、Mongo等擴展。
sudo pecl install redis
sudo pecl install memcache
sudo pecl install mongo
sudo pecl install xdebug
將擴展配置添加的php.ini文件型掘中:
extension=memcache.so
extension=mongo.so
extension=redis.so
zend_extension=xdebug.so
安裝xcache,從官網下載,解壓縮並安裝
tar xvf xcache-3.2.0.tar
cd xcache-3.2.0
phpize
。/configure
make
sudo make install
配置XCache
[xcache]
xcache.size = 128M
xcache.var_size = 8M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.optimizer = Off
由於Mac自帶的PHP環境是不包括mcrypt擴展的,所以需要下載同版本的php源碼包,單獨編譯這個模塊載入。從官網的歸檔裡面找到php5.5.14的源碼包,下載:http://php.net/releases/
tar zxvf php-5.5.14.tar.gz
cd php-5.5.14/ext/mcrypt/
phpize。/configure
make
sudo make install
配置ext-mcrypt
extension=mcrypt.so
為了加速,還需要打開opcache。
zend_extension=opcache.so
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=0
畢租桐; Determines if Zend OPCache is enabled for the CLI version of PHP
opcache.enable_cli=0
以上就是在MAC OS X系統中安裝PHP擴展的方手坦法,
『伍』 php不列印調用棧
基於以上原因,今天我們就來講一講在 PHP 項目當中,怎樣快速得到 PHP 調用棧。
PHP 調用棧,顧名思義就是從我們 Web 訪問項目的時候,PHP 從執行開始到返回給我們結果的這一系列操作的 PHP 類/方法等調用的過程。
一、利用 XDebug 擴展的 xdebug_get_function_stack() 函數
對 XDebug 擴展了解的同學,可以知道 XDebug 的功能主要用於代碼調試。其中,XDebug 就提供了一個非常有用的函數:xdebug_get_function_stack()。
從這個函數的的名字我們可以知道它就是獲取方法調用棧的。
我們只需要在項目當中放到 PHP 腳本當中,只要這個方法被執行到。那麼,這個方法就能列印 PHP 腳本從開始到執行到這個位置的所有調用棧。從而就能解決我們對代碼執行流程不清晰的旁唯問題。
這個方法會返回一個數組。數據裡麵包含了執行的腳本文件路徑、類名、方法名、參數等信息。
註:該方法生成的調用棧信息相對比較粗糙運談培。對於簡單初淺調試完成夠用了。同時,要使用這個方法,必須安裝 XDebug 擴侍清展。PHP 安裝 XDebug 擴展的教程網上很多。這里不贅述。
二、利用 phptrace 擴展查看
phptrace 是一個追蹤(trace)PHP 執行流程的工具。這是奇虎 360 團隊開源的一款 PHP 擴展工具。它本身的功能之一就是查看 PHP 調用棧。所以,推薦指數 5 顆星。
項目開源地址:https://github.com/Qihoo360/phptrace
安裝擴展:
$ wget https://pecl.php.net/get/trace-1.0.1beta.tgz
$ tar zxvf trace-1.0.1beta.tgz
$ cd trace-1.0.1beta/extension
$ {php_bin_dir}/phpize
$ ./configure --with-php-config={php_bin_dir}/php-config
$ make
$ make cli
$ make install-all
然後在 php.ini 配置文件末尾增加:
extension=trace.so
重啟我們的 PHP-FPM。
為了能在命令行使用 phptrace 提供的命令,我們還需要在剛剛的 exten
『陸』 phpstorm和postman關於xdebug安裝和使用
一,慧返
查找合適的版本:正顫 https://xdebug.org/wizard
安裝xdebug擴展並且配置php.ini
二,phpStorm配置
2.1 埠號和php.ini配置的埠號一致即前清飢可。
2.2 IDE key和xdebug.idekey一致,host當前項目的域名
三,PostMan配置
設置cookie XDEBUG_SESSION是調試的時候必須傳的參數:XDEBUG_SESSION=PHPSTORM,cookie里就會默認帶上該參數
四,PostMan發起請求,然後再項目里打斷點,這時phpstorm 就會有斷點信息輸出。
『柒』 php5.5怎麼配置xdebug
用phpstudy 2014集成包裡面已經集成xdebug,已經配好。在菜單php擴展管理勾上xdebug即可。如圖