致命错误:require_once():

时间:2016-04-22 06:37:53

标签: php pear fatal-error require-once

我收到以下错误:

  

警告:require_once(D:/xampp/htdocs/inc/head.php):无法打开   stream:没有这样的文件或目录   第3行的D:\ xampp \ htdocs \ ecommerce1 \ index.php

     

致命错误:require_once():无法打开所需的错误   ' d:/xampp/htdocs/inc/head.php' (include_path ='。; D:\ xampp \ php \ PEAR')in   第3行的D:\ xampp \ htdocs \ ecommerce1 \ index.php

我有以下代码:位于D:\xampp\htdocs\ecommerce1 Index.php

<!--head-->
<?php $title="Gamer"?>
<?php require_once $_SERVER["DOCUMENT_ROOT"]. '/inc/head.php';?>
<?php require_once $_SERVER["DOCUMENT_ROOT"]. '/inc/menu.php';?>
<!--body of the page-->
<!--footer of the page-->
<?php require_once $_SERVER["DOCUMENT_ROOT"]. '/inc/footer.php';?>
`

head.php位于D:\xampp\htdocs\ecommerce1\inc

    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title><?php print $title ?> </title>
    <link rel="stylesheet" type="text/css" href="/css/style.css">
    <script type="text/javascript" src="/jquery/jquery-1.12.3.min.js"></script>

</head>
<body>

4 个答案:

答案 0 :(得分:3)

除非您明确更改了Apache DocumentRoot中的httpd.conf设置,否则文档根目录默认为D:/xampp/htdocs

所以你需要打电话:

<?php require_once $_SERVER["DOCUMENT_ROOT"]. 'ecommerce1/inc/head.php';?>

而不是

<?php require_once $_SERVER["DOCUMENT_ROOT"]. '/inc/head.php';?>

答案 1 :(得分:2)

在index.php中执行此操作。

<?php $title="Gamer"?>
<?php require_once 'inc/head.php';?>
<?php require_once 'inc/menu.php';?>
<!--body of the page-->
<!--footer of the page-->
<?php require_once 'inc/footer.php';?>

希望这会有所帮助。

答案 2 :(得分:1)

有两种方法可以在php中包含文件

方法1: include()

<?php $title= "Gamer"; ?>
<?php include('inc/head.php');?>
<?php include('inc/menu.php');?>
<!--body of the page-->
<!--footer of the page-->
<?php include('inc/footer.php');?>

方法2: require_once()

<?php $title= "Gamer"; ?>
<?php require_once('inc/head.php');?>
<?php require_once('inc/menu.php');?>
<!--body of the page-->
<!--footer of the page-->
<?php require_once('inc/footer.php');?>

答案 3 :(得分:1)

作为初学者,您应该知道何时使用include()以及何时使用require()

在您的情况下,请使用include()代替require_once()

这背后的原因是如果require_once()无法加载文件,那么脚本执行就会在那里停止。如果使用include(),它只会抛出错误并继续执行。

那么,何时使用require_once()而不是include()

在包含PHP(或重要的服务器端)脚本时使用require_once(),在包含类似模板的文件时使用include()

看一下这个例子:

<?php include_once('inc/head.php');?>
<?php include_once('inc/menu.php');?>

<!--if including a script-->
<?php require_once('inc/footer.php');?>

注意:使用括号并将这些函数视为函数是一种很好的做法。