我只在本地主机上收到一个PHP警告通知


I receive a PHP warning notice only on localhost

我收到一个PHP警告:

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

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

服务器和本地主机上存在相同的文件。

为什么会有不同的结果?

下面是我的代码:

<?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');?>

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

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();发生。如果是这样. .把它注释掉,因为你已经在代码的开头开始了。

直接修改

<?php session_start ();?>

<?php @session_start ();?>

你就完成了…!