将网站移动到doteasy - 放置数据库常量的最佳位置?

时间:2012-05-15 01:31:55

标签: php document-root

这是我第一次将本地托管的PHP网站移动到托管服务。我的站点是使用web根目录之外的inc文件夹(包括数据库常量)构建的,因此在我的本地计算机上它位于

XAMPP/xamppfiles/htdocs/inc/

和其他文件,包括common /目录,都在

XAMPP/xamppfiles/htdocs/mydomain/

大多数页面都在调用

include_once "common/base.php";

住在里面

htdocs/mydomain/common/

并通过调用

包含数据库常量
include_once $_SERVER['DOCUMENT_ROOT'] . "/inc/constants.inc.php";

在我的本地站点上,$ _SERVER ['DOCUMENT_ROOT']输出“Applications / XAMPP / xamppfiles / htdocs /”,并找到inc文件。

不幸的是,在DotEasy网站上,找不到这些文件。如果我回显$ _SERVER ['DOCUMENT_ROOT'],则输出为“/ home / myusername / public_html”。

我可以通过这个来到inc /目录:

$temp_path = $_SERVER['DOCUMENT_ROOT'];
$temp_path = str_replace('public_html', '', $temp_path);
include_once $temp_path . "/inc/constants.inc.php";

但这是个好主意吗?我担心在public_html文件夹中使用常量是错误的吗?

1 个答案:

答案 0 :(得分:2)

请勿使用$_SERVER['DOCUMENT_ROOT']

相反,您应该根据一个文件定义根目录,例如在配置文件中。

define('ROOT', __DIR__); //php >= 5.3

define('ROOT', dirname(__FILE__)); // php < 5.3

使用ROOT作为基础来包含其他文件。