今天想裝個xdebug試一下,因為之前都是用echo print exit之類的測試;
進官網https://xdebug.org/download.php下載source
也可以直接 wget https://xdebug.org/files/xdebug-2.5.5.tgz
接着解壓 tar zxvf xdebug-2.1.0.tgz
運行 phpize
編譯 ./configure --enable-xdebug
make
編譯安裝完成后會有一個 modules文件夾
注意:問題來了,按照網上的說法
cp modules/xdebug.so /你的php目錄/xdebug
然后在php.ini里(php.ini文件的位置通過phpinfo()可以看到)
在配置最后加上
[Xdebug]
zend_extension =" 剛剛復制xdebug.so的目錄/xdebug.so"
xdebug.profiler_enable=on
xdebug.trace_output_dir="/alidata/server/php/xdebug/"
xdebug.profiler_output_dir="/alidata/server/php/xdebug/"
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
;xdebug.remote_host=localhost
;xdebug.remote_port=9999
到了這塊,按照網上別人的說法,修改后,重啟nginx,一直沒有效果,反復對照路徑是否錯了,配置是否錯了,發現都沒問題,折騰了很久,都沒有效果。
無奈之際在 phpinfo()里看到 extension_dir(我的是/xxx/server/php/lib/php/extensions/no-debug-non-zts-20121212/) ,才想到,可能和網上那幾個帖子說的 復制 xdebug.so到文件夾那塊有問題吧,難道根本就不能手動復制到隨意的目錄再指定?到extension_dir指定的目錄下一看,已經有xdebug.so了,
也許剛剛編譯的時候自動復制進這個指定的文件夾來了,都不用手動cp了,直接在配置里 zend_extension = 'xdebug.so' ,重啟,果然有效果了
可能是因為服務器的軟件版本和安裝參數不一樣,導致這個地方和別人的不一樣,所以參照網上的帖子時,要學會靈活的變動。
ps:然后關於php.ini修改后是否配置有誤,可以用下面這個試一下
php -i | grep "php.ini"
