PHP站点在XAMPP中工作正常,但在Linux上重定向次数过多

时间:2018-10-17 22:01:59

标签: php ubuntu xampp apache2

因此,在Windows上的XAMPP上,我的网站已启动并正在运行。但是,当将完全相同的文件复制到运行apache2的linux主机时,我得到:

  

ERR_TOO_MANY_REDIRECTS

     

此页面无效

     

172.168.1.3重定向您太​​多次。

     

尝试清除您的cookie。

代码是:

<?php
require_once('model/user.php');
session_start();
$view = new stdClass();
$view->pageTitle = 'Login';
$user = new User();
$user->checkCookie();
if(isset($_POST['submit'])) {
    if(!isset($_POST['username'])) {
        // no username error
    } else if(!isset($_POST['password'])) {
        // no password error
    } else {
        $user = new User();
        if(isset($_POST['remember'])) {
           if($user->login($_POST['username'], $_POST['password'], $_POST['remember']) == TRUE) {
                header('Location: /cliserv/search.php');
            }
        } else {
            if($user->login($_POST['username'], $_POST['password'], FALSE) == TRUE) {
                header('Location: /cliserv/search.php');
            }
        }
    }
}
if(isset($_SESSION['loggedIn'])) {
    header('Location: /cliserv/search.php');
} else {
    require_once('view/login.php');
}

我发现问题出在“ model / user.php”文件中。如果我注释掉该文件顶部的“ require_once()”语句:

if (!class_exists('Campsite')) {
    require_once('campsite.php');
}
if (!class_exists('DB')) {
    require_once('database.php');
}
if (!class_exists('SearchData')) {
    require_once('searchData.php');
}

该站点没有重定向错误-但是显然该站点随后无法运行,因为尚未加载类。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我认为,这与您的session_start和进行会话有关。

您必须将文件类型更改为UTF-8 without BOM。那应该可行。

您可以启用显示错误,然后将header('Location: ');替换为exit();

查看是否有任何错误!

如果有关于无法启动start_session()的任何错误;只需将文件类型更改为UTF-8 without BOM

您必须对所有包含的文件执行此操作。