1

PHP 文件在 MAMP 上的本地服务器上运行良好,没有错误,但是当我将其上传到我的学校 Web 服务器并尝试运行该页面时,我收到了这些错误消息,但它正在工作,它只是给了我这些错误

警告:include() [function.include]:第 57 行 /home//inc/header.php 中的文件名不能为空

警告:include() [function.include]:在 //public_html/inc/header.php 中打开 '' 以包含 (include_path='.:/usr/lib/php:/usr/local/lib/php') 失败在第 57 行

最后一行的来源是第 57 行,它表示错误正在发生

<?php
    if(isset($_GET["page"])){
        if($_GET["page"] == "home"){
            $pageTitle = "Home Page";
            $page = null;
        }else if($_GET["page"] == "aboutus"){
            $pageTitle = "About Us";
            $page  = "aboutus.php";
        }else if($_GET["page"] == "contact"){
            $pageTitle = "Contact Us";
            $page  = "contact.php";
        }else if($_GET["page"] == "portfolio"){
            $pageTitle = "Portfolio";
            $page  = "portfolio.php";
        }else if($_GET["page"] == "services"){
            $pageTitle = "Services";
            $page  = "services.php";
        }
    }
?>

<title><?php echo $pageTitle;?></title>

<?php include($page) ;?>    <!-- different pages load content -->   
4

1 回答 1

4

你没有在你的本地机器上得到它,因为你在开发时在 php.ini 中禁用了 error_reporting。不要那样做,总是与error_reporting=E_ALL

meanwille,您在学校网站上收到错误,因为它没有在 error_reporting 禁用的情况下运行。修复你的本地机器,你也会在那里得到这个错误。

并且错误试图告诉您 NULL 不是包含的有效参数,这是您的代码中的错误。所以修复它。

<?php if(isset($page)){include($page);} ?>

现在,如果 $page 为 NULL,它将永远不会尝试包含 $page,并且您不会在任何地方收到该错误。但说真的,修复你的 php.ini,它可以帮助你在开发过程中检测到很多错误(比如这个)。

于 2017-10-29T12:21:41.690 回答