从Windows迁移到Linux服务器,现在出现会话错误


Migrated from Windows to Linux server, now getting session errors

我最近从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

(也可能在下面的例子中),您可以进行某种输出(echoprint<?php ... ?>之外的空格等),在之前,您可以在第36行进行session_start();。这是不允许的,因为session_start()想要发送标头,这在某种输出已经发生后是不可能的。

解决方案:将session_start();放在php文件的顶部,或者至少在进行任何类型的输出之前。

Michael正确地指出,这在Windows服务器上也不能正常工作,你只是不知道,因为错误报告设置为不显示警告。