我在Linux CentOS上运行XDebug。我想在使用CodeIgniter构建的Web应用程序上分析页面,由Apache提供。
使用以下设置在php.ini中启用XDebug:
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合作?据我所知,我不应该通过URL中的GET触发XDebug分析,因为所有php脚本都启用了profiler_enable,虽然我已经尝试了这个但它似乎也没有用。
答案 0 :(得分:0)
在我看来,这个问题与CodeIgniter无关......似乎你可能有多个php.ini
个文件......
在我的Ubuntu安装中,我在/etc/php5
目录中有几个子目录:cgi
,cli
,fpm
等。其中每个子目录都有一个{{ 1}}文件里面的文件,特定于单个“模式”。
换句话说:PHP可能有几个不同的php.ini
个文件......一个用于php.ini
(命令行),另一个用于CLI
,依此类推......
上面粘贴的xdebug配置行可能不在从浏览器访问PHP脚本时使用的CGI
文件中。也许您已将这些行添加到php.ini
而不是/etc/php5/cli/php.ini
(或其他...在我的设置中,它是/etc/php5/cgi/php.ini
,因为我使用php-fpm)
答案 1 :(得分:0)
Apache需要对/ tmp / xdebug文件夹具有写权限。
sudo chown -R apache:apache /tmp/xdebug
XDebug现在可以从浏览器中分析Codeigniter页面加载。
谢谢@J。布鲁尼。