繁体   English   中英

“标头已发送”,但没有“输出开始于...”

[英]"Headers have already been sent", but without "output started at ..."

我收到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 8.0 与 PHP-FPM 一起使用,以下概念验证 WordPress 插件会触发错误:

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM