我只在localhost上收到PHP警告通知

时间:2014-03-29 10:54:22

标签: php session

我收到一条PHP警告:

"Notice: A session had already been started - ignoring session_start()". 

这仅在本地主机上发生,而不在服务器上发生。

服务器和localhost上存在相同的文件。

为什么会有结果变化?

这是我的代码:

<?php session_start ();?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>BookMyFilms - Register</title>
<link rel="stylesheet" type="text/css" href="css/styles.css">
</head>
</html>
<?php
$username = $_POST ['username'];
$_SESSION ['user'] = $username;
require ('includes/header.php');
require ('includes/db.php');
require ('includes/common.php');
Register ();
require ('includes/footer.php');?>

3 个答案:

答案 0 :(得分:3)

服务器通常在“生产”环境中配置,不会打印通知和警告。 对于另一个问题,您可能在下一个包含中有另一个session_start

答案 1 :(得分:1)

必须在您的实时服务器上关闭PHP警告通知。好吧,你可以像

一样启用它
error_reporting(E_NOTICE);

主要问题,您必须在任何这些文件中使用session_start();,这就是您收到通知的原因......

require ('includes/header.php');
require ('includes/db.php');
require ('includes/common.php');
require ('includes/footer.php');?>

尝试检查session_start();出现的那些文件..如果是这样的话......注释掉它,因为你已经在代码的开头开始了。

答案 2 :(得分:0)

只需更改

<?php session_start ();?>

<?php @session_start ();?>

你完成了......!你不会在任何服务器上得到通知..