我正在以SaaS原则构建CMS。我的网络服务器(动态专用)启动并运行。这一切都像预期的那样,但现在我遇到了我的模板系统,后来又遇到了文件处理等简单的事情。从逻辑上讲,每个客户都有自己的托管帐户。所有托管帐户都将在同一台服务器上请求托管在大型全局帐户上的masterdatabase。
稍后需要处理的一些事情就像文件处理一样简单。通常,每个客户端都会将他/她自己的数据存储在他/她自己的托管帐户中。只有页面数据和其他数据(产品目录,调查等)将托管在数据库中。
但在我能够从集中托管系统上传文件之前,我需要弄清楚如何到达指定的hostingaccount。我已经将所有需要的数据存储在sessionvariable中,当客户选择他/她的网站时,该会话变量被填充(因为我的系统支持多个站点)。
我服务器上的urls结构如下:
/home/[unix-user-name]/domains/[domain-name]/public_html/paths/to/the/folders/i/set/up/
url中的第二部分是hostingaccountname,第四部分是来自客户端的de domain。同样,我在会话变量中有这个信息,准备好访问。
我唯一的问题是,当客户端登录到系统时,基本网址的一部分已经全部填充如下:
/home/ontdek01/domains/ontdek5.nl/public_html/
我的问题是,如何强制PHP开始从根目录查找文件,在这种情况下home
?
答案 0 :(得分:1)
我不确定我是否正确地解释了你的问题,但是你尝试过类似的事情:
chdir('/home/');
这将PHP的工作目录设置为home,因此PHP会查找相对于该目录的包含文件。
答案 1 :(得分:1)
在php.ini中将/home
添加到include_path
将允许include*()
和require*()
从那里根据他们的搜索。
答案 2 :(得分:0)
$subDir = '/path/to/some/subdirectory/';
$includePath = $_SERVER['DOCUMENT_ROOT'] . $subDir;
include $includePath . 'myFile.php';
这允许它从根目录开始($ _SERVER ['DOCUMENT_ROOT']),然后在需要时进一步深入到子目录($ subDir)。