gpt4 book ai didi

xdebug_start_trace 行为异常

转载 作者:行者123 更新时间:2023-12-04 06:35:55 25 4
gpt4 key购买 nike

我正在尝试进一步减少我的脚本内存使用量。我试图让我的脚本使用 xdebug 生成输出来分析内存使用情况。这是一个基于 CLI 的脚本,有 shebang
#!/usr/local/bin/php -q
我向它传递一个参数并检查它
$argc > 1 && is_numeric( $argv[1] )
当我登录到 ssh 并执行 ./script.php 90并添加此代码,

if( $argv[1] == 90 ) {
xdebug_start_trace('/var/www/html/logs/' . rand(1,9999999) );
}

我在 logs 中看到输出文件文件夹。

但是当我把 xdebug_start_trace没有 if生产脚本中的语句,不创建输出文件。
script.php从另一个 php 文件调用,放在另一个文件夹中,所以我在文件名中使用绝对路径并使用 exec 调用它并附加 &> /dev/null &到它,所以它在后台运行。

这真让我抓狂!帮助,伙计们!

最佳答案

不知道为什么会发生这种情况,但出现错误
PHP Notice: Function trace already started in /var/www/html/script.php on line 9 [检查“编辑”以获取信息]

虽然,没有代码触发这个 xdebug_start_trace(); .

所以我把xdebug_stop_trace();之前 xdebug_start_trace(); ,一切正常。

奇怪的。

编辑:我在 php.ini 中将 auto_trace 设置为 On 时出现上述错误

此外,事实证明,如果您附加 &> /dev/null &对于该命令,不会生成 xdebug 日志。但是,如果我这样做 &> /dev/null (注意最后一个 & ),xdebug 生成日志。这可能与 xdebug 必须在内部使用的自定义输出有关。不过不确定。

关于xdebug_start_trace 行为异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4883171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com