我最近从Windows迁移到Linux服务器......现在我收到一堆会话警告,并且正在正确加载一些内容。在Windows服务器上,一切顺利,我从未遇到任何错误,一旦迁移到Linux,我就开始在每个使用会话的页面上获取会话警告,例如下面的警告。
我不知道我应该尝试什么或从哪里开始解决这些问题,并希望得到任何建议。
我怀疑如果遇到session_start()是问题,我会在Windows服务器上收到类似的警告。
此外,我的网站由goaddy托管,我无法访问php.ini文件...
Warning: session_start() [function.session-start]: Cannot send session
cookie - headers already sent by (output started
at /home/content/12/9453412/html/mainsearch.php:32)
in /home/content/12/9453412/html/mainsearch.php on line 36
答案 0 :(得分:2)
你的问题是,
/home/content/12/9453412/html/mainsearch.php line 32
(也可能还包括以下内容)你做了某种输出(echo
,print
,<?php ... ?>
之外的空白等),之前的 >你在第36行做session_start();
。这是不允许的,因为session_start()
想要发送已经发生某种输出后无法发送的标题。
解决方案:将session_start();
放在php文件的顶部,或至少在进行任何输出之前。
迈克尔正确地指出,这在你的Windows服务器上也无法正常工作,你只是不知道,因为错误报告被设置为不显示警告。