我从源代码安装了 xdebug,但也尝试了我的包管理器(单独),它们都正确加载(通过重新启动 Apache 并查看 phpinfo() 中的 xdebug 版权信息进行验证)但它们没有转储分析信息。
在 40 次不同的配置尝试中,它记录了一次或两次,但我丢失了我所做的,我尝试首先仅在 php.ini 中加载模块而不进行任何设置,但它没有记录到 /tmp/。我尝试了许多不同的设置,但我的当前设置是:
xdebug.profiler_enable = Off
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = "/tmp/"
xdebug.profiler_output_name = "profiler.%t"
当然,我通过调用我的脚本127.0.0.1/test.php?XDEBUG_PROFILE
,它用于enable_trigger。
您知道为什么它不会转储分析器信息吗?nobody
(Arch Linux)可以像以前一样写入 /tmp/,所以我确信这不是权限错误。Apache 的 error_log 也没有告诉我有关 xdebug 的任何信息,因为它已正确加载。它只是不“工作”!
编辑:我在 /tmp/ 中创建了一个子文件夹“xdebug_profiles”,并将chown
其编辑到nobody
,现在它运行正常。我不确定为什么它之前无法写入,我猜这只是nobody
Arch 的一个警告。
我回答了我自己的问题,但没有足够的分数来回答或评论,因此认为这已经是答案了。
答案1
在 /tmp/ 中创建一个子文件夹“xdebug_profiles”,并将chown
其发送给 nobody,现在它将完美运行。我不确定为什么之前没有写,我猜这只是 Arch 上 nobody 的一个警告。