我最近从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
您的问题是,在中
/home/content/12/9453412/html/mainsearch.php line 32
(也可能在下面的例子中),您可以进行某种输出(echo
、print
、<?php ... ?>
之外的空格等),在之前,您可以在第36行进行session_start();
。这是不允许的,因为session_start()
想要发送标头,这在某种输出已经发生后是不可能的。
解决方案:将session_start();
放在php文件的顶部,或者至少在进行任何类型的输出之前。
Michael正确地指出,这在Windows服务器上也不能正常工作,你只是不知道,因为错误报告设置为不显示警告。