PHP中的会话启动警告
这就是我收到的信息:PHP中的会话启动警告,php,session,warnings,Php,Session,Warnings,这就是我收到的信息: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/new/login.php:1) in /var/www/new/login.php on line 3 这正是代码: <?php if(!isset($_SESSION)) session
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/new/login.php:1) in /var/www/new/login.php on line 3
这正是代码:
<?php
if(!isset($_SESSION))
session_start();
ob_start();
检查文件中是否未设置BOM unicode,这是此类型的常见错误。
如果没有BOM,您是否有通过htaccess或phpini php_auto_prepend自动包含的文件?检查您的文件中是否没有BOM unicode设置,这是此类常见错误。
如果没有BOM,您是否有任何通过htaccess或phpini php_auto_prepend自动包含的文件?您确定您的文件未与BOM一起保存在UTF-8中?尝试保存不带BOM的UTF-8?尝试保存不带BOM的UTF-8检查您的php会话配置。自动启动,如果启用此功能,则表示您已经打开了会话
或者尝试以下方法:
if (empty(session_id())) {
session_start(); // if no active session we start a new one
}
检查session.auto_start的php配置,如果启用此选项,则表示您已经打开了一个会话
或者尝试以下方法:
if (empty(session_id())) {
session_start(); // if no active session we start a new one
}
“输出开始于/var/www/new/login.php:1”我发现了错误!php.ini上的输出缓冲已关闭!有人能回答这个问题,这样我就可以检查它是否有效了吗?请自己输入答案,如果你发现了问题,你应该得到奖励。你可以回答你自己的问题;)@Dave Kiss:我投了反对票,因为if
语句对handdouble和triple check spaces->“输出开始于/var/www/new/login.php:1”的问题绝对没有影响。我发现了错误!php.ini上的输出缓冲已关闭!有人能回答这个问题,这样我就可以检查它是否有效了吗?请自己输入答案,如果你发现了问题,你应该得到奖励。你可以回答你自己的问题;)@戴夫·基斯:我投了反对票,因为if
声明对handBOM的问题绝对没有影响。我不确定是这样还是输出缓冲。移除、激活并工作@安东尼奥:如果有BOM,那么这就是问题的根源。这是一个非常常见的问题。显然,问题的原因是BOM unicode,而不是输出缓冲BOM。我不确定是这样还是输出缓冲。移除、激活并工作@安东尼奥:如果有BOM,那么这就是问题的根源。这是一个非常常见的问题。显然,问题的原因是BOM unicode,而不是输出缓冲