2012-02-29 60 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