刚刚发现document_root为空。有其他办法或想法如何解决它?
echo <?php $HTTP_SERVER_VARS["PATH_TRANSLATED"] ?>
<?php
require_once($_SERVER["DOCUMENT_ROOT"] . "/inc/config.php");
include(ROOT_PATH . "/inc/header.php");
?>
你有一个语法错误,你的echo应该在php标签内,并添加一个分列;
<?php echo $HTTP_SERVER_VARS["PATH_TRANSLATED"]; ?>
//^echo should be inside php tags ^semicolumn was missed here
$_SERVER['DocumentRoot']
全局取决于您正在使用的服务器,而不是PHP本身。如果你使用的是Apache,那么只需在Apache配置文件中添加一个DocumentRoot条目:
DocumentRoot /absolute/path/to/website/
将PHP修改为当前目录的相对路径可能会更容易。用途:
require_once __DIR__ . '/inc/config.php';
或其他形式的正确相对路径,从你正在编辑的PHP脚本的文件夹到config.php文件,例如:
require_once __DIR__ . '/../inc/config.php';
我更喜欢用:define('FOO_ROOT', dirname($_SERVER['SCRIPT_FILENAME']))
这在这样的情况下很有用,也许你在根目录中有index.php,然后你可能有代码以这种方式在/inc/init.php中设置根路径。
我不认为这种技术有任何缺点,当你有像cron.php(通过cron作业运行的东西)这样的东西也需要访问init.php中的东西时,它是有用的。这里,这两个文件都需要inc/init。php。我觉得它更干。