【发布时间】:2011-08-09 09:46:54
【问题描述】:
我在我的项目中相互包含了许多页面,我遇到了包含路径不正确的问题,有没有办法从根目录包含文件, 我试着做这样的
require_once("$_SERVER['DOCUMENT_ROOT']/crm/includes/opendb.php");
require_once("./includes/opendb.php");
require_once("../includes/opendb.php");
require_once("includes/opendb.php");
并且在包含文件时都会出错,请问有什么建议吗?
编辑
我有 2 个文件夹,控制器和包含,在控制器内部我从包含文件夹调用 opendb.php,我在下面的答案中演示了
set_include_path('../includes/');
include 'opendb.php';
和
set_include_path('includes/');
include 'opendb.php';
但同样的错误
Warning: include(opendb.php) [function.include]: failed to open stream: No such file or directory in C:\AppServ\www\crm\controllers\Customer.controller.php on line
【问题讨论】:
-
$_SERVER['DOCUMENT_ROOT']root 还不够吗? -
其实应该会触发解析错误:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING。您是否已将 PHP 配置为显示错误? -
除了上述警告之外,这些错误还会多次出现。
-
未来提示:如果您遇到无法修复的解析错误,请明确询问并粘贴问题中的实际错误消息。解析错误意味着您的 PHP 代码甚至无效。改进甚至不会运行的代码的逻辑是没有意义的。