如何使用PHP从根目录中包含

如何使用PHP从根目录中包含,php,unix,include,root,Php,Unix,Include,Root,我正在基于SaaS原则构建CMS。我已经启动并运行了我的Web服务器(动态专用)。这一切都像预期的那样进行,但现在我遇到了我的模板系统,后来遇到了一些简单的事情,比如文件处理。从逻辑上讲,每个客户端都有自己的hostingaccount。所有hostingaccounts将向主数据库发出请求,主数据库位于同一服务器上的一个大型全局帐户上 一些稍后需要处理的事情很简单,比如文件处理。通常,每个客户机都将自己的数据存储在自己的hostingaccount中。只有页面数据和其他数据(产品目录、调查等)

我正在基于SaaS原则构建CMS。我已经启动并运行了我的Web服务器(动态专用)。这一切都像预期的那样进行,但现在我遇到了我的模板系统,后来遇到了一些简单的事情,比如文件处理。从逻辑上讲,每个客户端都有自己的hostingaccount。所有hostingaccounts将向主数据库发出请求,主数据库位于同一服务器上的一个大型全局帐户上

一些稍后需要处理的事情很简单,比如文件处理。通常,每个客户机都将自己的数据存储在自己的hostingaccount中。只有页面数据和其他数据(产品目录、调查等)将托管在数据库中

但是,在我能够从集中托管系统上载文件之前,我需要弄清楚如何访问指定的hostingaccount。我已经将我需要的所有数据存储在一个sessionvariable中,当客户选择他/她的网站进行工作时,该变量会被填充(因为我的系统支持多个网站)

我的服务器上的URL结构类似于:
/home/[unix用户名]/domains/[domain name]/public\u html/path/to/the/folders/i/set/up/

url中的第二部分是hostingaccountname,第四部分是从客户端反域。同样,我在会话变量中有这个信息,可以访问

我唯一的问题是,当客户机登录到系统时,基本url的一部分是allready填充的,如下所示:

/home/ontdek01/domains/ontdek5.nl/public\u html/


我的问题是,如何强制PHP从根目录开始查找文件,在本例中是
home

我不确定我是否正确解释了您的问题,但您是否尝试过以下方法:

chdir('/home/');
$subDir = '/path/to/some/subdirectory/';
$includePath = $_SERVER['DOCUMENT_ROOT'] . $subDir;

include $includePath . 'myFile.php';

这会将PHP的工作目录设置为home,因此PHP会查找与该目录相关的包含文件。

在PHP.ini中将
/home
添加到
include_path
,将允许
include*()
require*()
从那里作为搜索的根目录。

您可以设置如下:

chdir('/home/');
$subDir = '/path/to/some/subdirectory/';
$includePath = $_SERVER['DOCUMENT_ROOT'] . $subDir;

include $includePath . 'myFile.php';

这允许它从根目录开始($\u SERVER['DOCUMENT\u root']),然后进一步深入到子目录(如果需要)($subDir)。

感谢您的回答,我已通过电子邮件与我的hostingprovider联系,但我们得出结论,robbo提供的回答产生了一个有效的解决方案。感谢您的回答,但这不是一个解决方案,因为您没有对文档根进行任何更改,只需在其后面添加一些pathinfo。我在寻找一个解决方案,从绝对路径的最根开始包含。