2012-02-29 52 views
0

我在Linux CentOS上運行XDebug。我想分析由Apache提供的使用CodeIgniter構建的Web應用程序的頁面。如何使用XDebug分析Codeigniter Web App?

的XDebug在php.ini中啓用了以下設置:

zend_extension=/usr/lib64/php/modules/xdebug.so 
xdebug.profiler_enable = 1 
xdebug.profiler_output_dir = /tmp/xdebug 

一切工作正常,當我在命令行觸發PHP腳本,和Xdebug輪廓日誌寫入到/ tmp/Xdebug的,符合市場預期。當我通過瀏覽器從Web應用程序加載URL時,XDebug不會創建任何配置文件日誌文件。

有沒有人得到XDebug與Codeigniter一起工作?從我可以告訴的是,我不應該通過GET在url中觸發XDebug分析,因爲所有php腳本都打開了profiler_enable,儘管我已經嘗試過了,但它似乎也不起作用。

回答

0

阿帕奇需要對在/ tmp/Xdebug的文件夾的寫權限。

sudo chown -R apache:apache /tmp/xdebug 

XDebug現在可以從瀏覽器配置Codeigniter頁面加載。

謝謝@J。布魯尼。

0

在我看來,這個問題是不相關的笨......看來你可能有多個php.ini文件...

在我的Ubuntu的安裝,我有內部/etc/php5目錄幾個子目錄:cgicli,fpm等等。其中每一個文件都有一個php.ini文件,它只針對一個「模式」。

換句話說:PHP可能有幾種不同的php.ini文件...一個CLI(命令行),其餘爲CGI,等等...

也許你上面粘貼的Xdebug的配置線而不是在從瀏覽器訪問PHP腳本時使用的php.ini文件中。也許你添加了這些行/etc/php5/cli/php.ini而不是/etc/php5/cgi/php.ini(或其他...在我的設置,這是/etc/php5/fpm/php.ini,因爲我使用PHP-FPM)

+0

剛剛在xdebug文檔中找到。我認爲你應該嘗試一下這個簡單的測試:「編寫一個調用'phpinfo()'的PHP頁面'在瀏覽器中加載它並查找Xdebug模塊中的信息如果你看到Zend標誌旁邊的信息, !」 – 2012-02-29 06:15:03

+0

當我這樣做時,一切看起來都不錯。 Xdebug正在加載,它的所有設置都通過phpinfo()輸出。 – 2012-02-29 06:29:58

+0

所以,問題不是'php.ini' ......你有沒有在CodeIgniter控制器裏嘗試'phpinfo()'? (只是爲了檢查xdebug是否仍然存在......) – 2012-02-29 07:05:28