我遇到了一个小问题,希望你能帮助我。我不是程序员或编码员,但我只是想解决我的项目中的一些问题。
以下是上下文。我需要在我的笔记本电脑(HP - Windows7)上离线安装和使用我的一个项目(电子商务网站)。所以我已经安装了 Appserv 并导入了数据库。我还复制粘贴了项目文件夹 www/name 中的所有文件。该网站使用 PHP 和 Javascript。没有 CMS,CSS 模板是内部设计的。
我使用 localhost 离线启动了网站,然后打开了管理员登录页面。我输入了我的登录名和密码,然后收到以下消息:
*“警告:session_start() [function.session-start]:无法发送会话缓存限制器 - 标头已发送(输出开始于 C:\AppServ\www\thailema_v2\controller\admin\login.php:1)在 C:\AppServ\www\thailema_v2\controller\admin\login.php 第 3 行
警告:无法修改标头信息 - 标头已由(输出开始于 C:\AppServ\www\thailema_v2\controller\admin\login.php:1)在 C:\AppServ\www\thailema_v2\controller\admin\login.php 第 18 行发送“*
所以我无法进入我的管理页面并离线重新启动我需要的功能。我已经阅读并尝试了这里提出的一些解决方案,但并没有改变,而且有些解决方案我无法弄清楚,因为我不是专业程序员。
无论如何,这里是该页面的代码:
<?php
ob_start();
session_start();
$path = '../';
include_once($path."include/check_lang.inc.php");
include_once($path."include/connect.php");
include_once($path."include/login.class.php");
$objLogin=new Login();
$check=$objLogin->getLogin($_POST["customer_username"],$_POST["customer_password"]);
if($check){
$url = $path."add_booking_info.php?lang=".$lang;
}else{
$url = $path."payment_step1.php?error=yes&lang=".$lang;
}
header("Location: ".$url);
ob_end_flush();
?>
所以我想要做的是登录管理页面并使用所有管理功能,但由于该错误,目前我甚至无法访问管理索引页面。非常感谢您的帮助和支持...
奥利维尔
答案1
确保绝对不前面有空格
<?php
放在
session_start()
前面ob_start()
而不是后面。如果失败,请尝试注释掉 session_start(),因为其中一个包含可能已经启动了会话,如下所示:
/** session_start(); **/
答案2
我遇到了同样的问题。当我从我的电脑上传到我的在线网络主机时,我遇到了同样的错误。我删除了所有空格,将 session_start 放在文件顶部,但没有结果。然后查看了我在本地主机上运行的 php 版本。它是 5.4,而在线是 5.3。我将我的网络主机版本从 5.3 更新到 5.4,我的问题就解决了。