php include_path错误 - 从服务器提取包括路径而不是用户的路径

时间:2014-06-11 02:38:41

标签: php .htaccess

我在共享服务器上有一个cpanel帐户,我遇到了使用context_document_root的问题,因为它试图从实际服务器的include_path中提取文件而不是我的特定用户帐户包含路径。我需要弄清楚发生了什么。

这是错误:

Warning: include_once(): Failed opening '/WMS/configuration.php' for inclusion (include_path='.:/usr/local/lib/php') in /home/kylej/public_html/index.php on line 4

该文件位于public_html / WMS / configuration.php中,实际上就在那里。

在我的htaccess中:我添加了RewriteBase /~kylej/,我甚至尝试在我的根目录中创建一个php.ini文件,其中包含ini_set('include_path', '/home/kylej/public_html');

有人可以帮忙吗?

在.php文件中,这是我的include:include_once($_SERVER['CONTEXT_DOCUMENT_ROOT'] .'/WMS/configuration.php');

1 个答案:

答案 0 :(得分:0)

显然,$_SERVER['CONTEXT_DOCUMENT_ROOT']正在解析为null /空值。这就是为什么你不应该在你的应用程序中添加外部依赖项。

使用相对于__DIR__的路径,从而保持您的应用可移植。

include_once __DIR__ . '/WMS/configuration.php';

/home/kylej/public_html/index.php__DIR__将解析为/home/kylej/public_html

此外,启用正确的错误报告和显示会提醒您$_SERVER['CONTEXT_DOCUMENT_ROOT']未设置。