我正在开发一个使用PHP和JavaScript的Web应用程序,如果它们包含其他文件(即'包含一次'),我在访问根目录不存在的页面时遇到了一些麻烦。
[文件系统] /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。
感谢您的帮助!
答案 0 :(得分: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框架来解决这个问题,这个框架可以让你在一个更大的项目上更轻松地路由你的依赖项。
答案 1 :(得分:1)
获取文档根目录
$_SERVER['DOCUMENT_ROOT'];
因此
include_once($_SERVER['DOCUMENT_ROOT'] . '/project/config/config.php');
应该适合你。