1

我目前正在做一个 PHP 项目。我将项目文件复制到我的本地盒子。它运行良好,除了一件事。

这是文件夹层次结构:

root/index.php
root/event/admin/list.php 
root/event/admin/functions.php

在 index.php 中有一行:

<?php include ("event/admin/list.php"); ?>

其中应该包括 list.php

但是在 list.php 中,有一行:

<?php include_once "event/admin/functions.php";?>

由于 list.php 不在根目录中,event/admin/functions.php所以没有被调用,我的本地index.php无法加载这部分。但生产运行良好。

有谁知道发生了什么?这是一种设置 include/include_once 的方法,总是使用 ROOT 目录而不使用 $_SERVER["DOCUMENT_ROOT"] 之类的东西吗?非常感谢。

4

4 回答 4

2

在我看来,使用 $_SERVER['DOCUMENT_ROOT'] 是个好主意。你可以这样做:

include_once($_SERVER['DOCUMENT_ROOT'] . "/path/to/file.php");

但是,尝试用以下代码替换 list.php 中的代码:

<?php include_once "../../event/admin/functions.php";?>

这是与相对路径相关的已知问题。因此, DOCUMENT_ROOT 更可取。或者,您可以编辑 include_path。

于 2012-04-27T03:18:31.123 回答
1

包含路径设置为对您的 probject 有用的任何内容。

于 2012-04-27T03:17:51.990 回答
0

这是与相对路径相关的常见问题。您可以从绝对路径包含您的文件,也可以在 php.ini 中修改您的 include_path以使用您的文档根目录,并指定相对于那里的文件。

于 2012-04-27T03:17:07.080 回答
0

比较两台机器之间的包含路径配置。

于 2012-04-27T03:22:09.763 回答