Linux 如何使用XDebug评测Codeigniter Web应用程序?

Linux 如何使用XDebug评测Codeigniter Web应用程序?,linux,apache,codeigniter,xdebug,Linux,Apache,Codeigniter,Xdebug,我正在Linux CentOS上运行XDebug。我想在一个由Apache提供服务、使用CodeIgniter构建的web应用程序上评测页面 XDebug在php.ini中通过以下设置启用: zend_extension=/usr/lib64/php/modules/xdebug.so xdebug.profiler_enable = 1 xdebug.profiler_output_dir = /tmp/xdebug 当我从命令行触发php脚本时,一切都正常工作,正如预期的那样,XDebug

我正在Linux CentOS上运行XDebug。我想在一个由Apache提供服务、使用CodeIgniter构建的web应用程序上评测页面

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 in the url触发XDebug评测,因为所有php脚本都启用了profiler_enable,尽管我已经尝试过,但它似乎也不起作用。

在我看来,这个问题与CodeIgniter无关。。。似乎您可能有多个
php.ini
文件

在我的Ubuntu安装中,我在
/etc/php5
目录中有几个子目录:
cgi
cli
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)

Apache需要对/tmp/ebxdug文件夹具有写权限

sudo chown -R apache:apache /tmp/xdebug
XDebug现在可以从浏览器中分析Codeigniter页面加载


谢谢@J.Bruni。

刚刚在xdebug文档中找到。我认为您应该尝试这个简单的测试:“编写一个调用‘phpinfo()’的PHP页面,将其加载到浏览器中,并查找Xdebug模块上的信息。如果您在Zend徽标旁边看到它,您已经成功了!”当我这样做时,一切看起来都很好。Xdebug正在加载,它的所有设置都用phpinfo()输出。因此,问题不在于
php.ini
。。。您是否在CodeIgniter控制器中尝试过
phpinfo()
?(只是为了检查xdebug是否仍然存在…)Windows中的一个人解决了更改日志文件名的问题:-此外,web服务器Apache必须具有在探查器\u output\u dir中写入的权限…Apache需要写入权限。现在,它正在通过浏览器分析codeigniter页面加载。该死多少次这将是我的问题。哈哈。谢谢你的帮助。