【问题标题】:"Headers have already been sent", but without "output started at ..."“标头已发送”,但没有“输出开始于...”
【发布时间】:2022-06-12 22:10:05
【问题描述】:

我收到PHP Warning: session_start(): Session cannot be started after headers have already been sent in ... 错误消息。

我阅读了许多类似的问题,但就我而言,上述错误消息不包含 (output started at /some/file.php:12) 部分,如果没有它,我将无法解决问题。

如何将output started at ... 部分添加到错误消息中?

我通过 NGINX 使用 PHP-FPM 和 PHP 8.0,并且以下概念验证 WordPress 插件触发了错误:

add_action('init', function() {
    session_start();
});

没有激活其他插件,我正在使用股票二十二十二主题。

【问题讨论】:

    标签: php wordpress plugins


    【解决方案1】:

    其他地方已经输出了数据,所以 session_start() 导致了这个错误。

    尝试在插件部分代码上用这个替换 session_start()。

    if(!isset($_SESSION)) {
         session_start();
    }
    

    【讨论】:

      猜你喜欢
      • 2017-11-05
      • 2023-03-27
      • 2014-02-26
      • 2016-02-02
      • 1970-01-01
      • 1970-01-01
      • 2013-07-12
      • 1970-01-01
      • 2016-01-10
      相关资源
      最近更新 更多