我要做的是设置我网站的开发子域名。
结构基本上是这样的:
/vitals.php <-- Contains the actual info (passwords, db info, etc...)
/public_html/vitals.php <-- contains only require("../vitals.php")
/public_html/index.php
/public_html/dev/index.php
public_html中的索引文件有require("../vitals.php")
。我希望能够在dev/index.php
文件中使用相同的行,方法是在公共html中添加额外的vitals.php,而后者又包含public_html之外的vital.php
。
问题是......它不起作用。想法?
答案 0 :(得分:1)
活动目录不会因为您包含文件而更改。就个人而言,我喜欢用chdir($_SERVER['DOCUMENT_ROOT'])
开始我的代码,因为这样我就可以无论我在哪个文件夹中都包含相同的文件。
答案 1 :(得分:0)
您对require的相对路径有问题。只需使用绝对路径,无论是否在您的dev子目录中,require都将起作用。
即
require('/path/to/vitals.php');
答案 2 :(得分:0)
require
,include
和朋友,首先查看当前working directory,然后查看脚本文件的目录。工作目录最初将是被访问页面的目录。它在包含的文件中没有什么不同,因此它只会尝试再次包含相同的文件,而不是设法启动树。
更好的方法可能是直接跳到根目录:
require $_SERVER['DOCUMENT_ROOT'] . '/vitals.php';