0

我要做的是为我的网站设置一个开发子域。

结构本质上是这样的:

/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 来在文件中使用同一行,而公共 html 又将包含vital.phppublic_html 的外部。

问题是……它不起作用。想法?

4

3 回答 3

1

活动目录不会因为您包含一个文件而改变。就个人而言,我喜欢以 开始我的代码chdir($_SERVER['DOCUMENT_ROOT']),因为这将允许我以相同的方式包含文件,无论我在哪个文件夹中。

于 2013-03-14T00:24:20.850 回答
0

require, include, 和小伙伴们,先看当前工作目录,再看脚本文件所在目录。工作目录最初将是访问页面的目录。它在包含的文件中不会有所不同,因此它只会尝试再次包含相同的文件,而不是设法爬上树。

更好的方法可能是直接跳转到根目录:

require $_SERVER['DOCUMENT_ROOT'] . '/vitals.php';
于 2013-03-14T00:27:33.977 回答
0

您对 require 的相对路径有疑问。只需使用绝对路径,无论它是否在您的 dev 子目录中,require 都将起作用。

IE

require('/path/to/vitals.php');
于 2013-03-14T00:24:16.947 回答