会话配置PHP

会话配置PHP

问题描述:

有一个奇怪的一个。我是个系统和登陆断裂上工作时,我把它从开发服务器转移到了活,给这个错误:会话配置PHP

[21-Feb-2017 16:55:40 Europe/London] PHP Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/xxx/public_html/olympus/index.php:12) in /home/xxx/public_html/olympus/classes/login.php on line 28

如果我移动会话它工作正常,直接启动到该文件的顶部。但是,如果我感到困惑,它在开发服务器上没有问题?

他们都是的cPanel服务器,开发服务器上唯一的主要区别是它的运行cloudlinux。 任何想法,如果任何PHP设置会造成这种情况?

+2

它说:“输出开始于/home/xxx/public_html/olympus/index.php:12” – nogad

+0

这些文件与开发服务器上的文件完全相同。哪些工作没有问题。 – Jargen

+0

的档案?你知道我们不能看到他们的权利? ? – nogad

这意味着你调用session_start前的东西是写输出 - 它甚至告诉你

在哪里(第12行/home/xxx/public_html/olympus/index.php)没有看到该文件,它很难确切地知道什么是outputing但比回声/打印等明显的输出功能等的常见原因是你开的PHP代码前换行/空格(或后您的结束标记 - 这是可选的,最好完全错过在年底一个文件)

+0

这些文件与开发服务器上的文件完全相同。哪些工作没有问题。 – Jargen

+0

您是否通过运行md5函数或其他方法验证了这一点?它是一种常见的错误是假设他们没有意识到的东西,同样是不同的(行尾等),否则没有看到至少index.php的(理想的login.php)的内容是很困难的帮助。 – Theo

+0

发现服务器之间的区别。输出缓冲被设置为关闭,将其更改为4096已解决它。谢谢您的帮助。 – Jargen