1

刚刚发现 document_root 是空的。任何替代方案或想法如何解决它?

echo <?php $HTTP_SERVER_VARS["PATH_TRANSLATED"]  ?>
<?php
require_once($_SERVER["DOCUMENT_ROOT"] . "/inc/config.php");
include(ROOT_PATH . "/inc/header.php");
?>
4

3 回答 3

2

你有一个语法错误,你的 echo 应该在 php 标签内,并添加一个 semiclumn;

<?php echo $HTTP_SERVER_VARS["PATH_TRANSLATED"];  ?>
    //^echo should be inside php tags          ^semicolumn was missed here
于 2013-06-05T23:02:12.357 回答
1

$_SERVER['DocumentRoot']全局取决于您使用的服务器,而不是 PHP 本身。如果您使用的是 Apache,那么只需将 DocumentRoot 条目添加到您的 apache 配置文件中:

DocumentRoot /absolute/path/to/website/

只需将 PHP 修改为当前目录的相对路径,您可能会更轻松。利用:

require_once __DIR__ . '/inc/config.php';

或者使用正确的相对路径从您正在编辑的 PHP 脚本文件夹获取到 config.php 文件的一些变体,例如:

require_once __DIR__ . '/../inc/config.php';
于 2013-06-05T23:03:52.797 回答
0

我更喜欢使用:define('FOO_ROOT', dirname($_SERVER['SCRIPT_FILENAME']))

这在您可能在根目录中有 index.php 并且您可能在 /inc/init.php 中以这种方式设置根路径的代码的情况下很有用。

我不相信它们对这种技术有任何不利之处,并且当您可能有类似 cron.php(通过 cron 作业运行的东西)之类的东西也需要访问 init.php 中的东西时,它很有用。因此,在这种情况下,您只需要在这两个文件中包含 inc/init.php。我觉得它更干。

于 2013-12-05T04:01:02.203 回答