3

我正在开发一个使用 PHP 和 JavaScript 的 Web 应用程序,如果某些页面包含其他文件(即“包含一次”),那么在访问一些不在根目录上的页面时会遇到一些麻烦。

[file system]/www/project/test/test.php

项目文件夹具有index.php. 这是我的代码示例:

include_once('../config/config.php');
include_once('../database/database.php');
echo 'Test.php';

$config = new Config();
$dbhandle = new Database();

[...]

我在这里做错了什么?

来自 Apache 的错误日志告诉我没有文件 config.php 和 database.php。

4

2 回答 2

3

使用 $_SERVER['DOCUMENT_ROOT'] 将路径重新定位到服务器的根路径,如下所示:

 $root_path =  $_SERVER['DOCUMENT_ROOT'] ; //Returns the root path of your server

 //Then call your inlude_once with the absolute path
 include_once($root_path . '/project/config/config.php')

所以现在你所有的路径都是绝对的而不是相对的。希望有帮助。

PS:您还可以使用 php 框架来获得舒适,该框架将在更大的项目中更轻松地路由您的依赖项。

于 2012-08-15T17:02:49.090 回答
1

获取文档根目录使用

$_SERVER['DOCUMENT_ROOT'];

因此

include_once($_SERVER['DOCUMENT_ROOT'] . '/project/config/config.php');

应该为你工作。

于 2012-08-15T17:03:01.317 回答