gpt4 book ai didi

php - 第0行的PHP缓冲错误<未知>

转载 作者:行者123 更新时间:2023-12-03 09:15:22 26 4
gpt4 key购买 nike

有人会帮助我提供有关此错误的任何可能信息吗?原因?登录?在哪里寻找/开始?

 Cannot use output buffering in output buffering display handlers in <**Unknown**> on line **0**

示例代码:
function test($b) { return _strrev($b); } 

ob_start("test");
echo "123";
ob_end_flush();

信息:
  • 这是CentOS 6.7
  • 这是PHP PHP 5.5.32(cli)
  • 这不是Wordpress
  • 这是一个带有伪代码的简单PHP文件(上面)
  • 没有缓存,没有Varnish,没有Nginx,没有自定义 header

  • 谢谢

    最佳答案

    为了使这个问题对其他人有用,我将以答案的形式总结评论部分。
    事实证明,如果在ob_start使用的回调函数中发生编码错误,则会生成此无用的错误消息
    在测试中,我在修改发问者显示的回调函数时无意中犯了一个愚蠢的错误,

    <?php
    function test($b) {
    return str-replace('2', 'XXX', $b);
    }

    ob_start("test");
    echo "123";
    ob_end_flush();
    请注意 str_replace()函数的拼写错误。
    这产生了错误

    Fatal error: Unknown: Cannot use output buffering in output buffering display handlers in Unknown on line 0


    因此,似乎PHP无法通过 ob_start回调函数报告运行时错误。相反,它必须默认为类似于 的一般错误,这会伤害
    也许我们其中一位应该将其报告为PHP错误
    经过更多测试后,此错误Senario在PHP 7.0.5中产生了有意义的错误

    Notice: Use of undefined constant str - assumed 'str' in tst.php on line 3

    Fatal error: Uncaught Error: Call to undefined function replace() in tst.php:3


    因此现在可以解决此问题,但是所有以前的PHP版本(即5.4/5.5/5.6)都会产生无用的错误消息

    关于php - 第0行的PHP缓冲错误<未知>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36610608/

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