包括来自子域的PHP类

问题描述

| 基本上,我有一个“ 0”类,其中包含一些基本事物的逻辑,例如: 连接到MySQL 检查登录状态 显示导航栏 这些文件存储在\“ projectavian \”中,该文件夹是主机的根目录中的文件夹,并且是将在mydomain.com上显示的所有文件的文件夹。 我已经离开并设置了一些子域,例如dev.mydomain.com。我的主机在根目录中的\“ projectavian \”文件夹旁边为子域创建文件夹。我似乎可以从\“ projectavian \”中的HTML / PHP页面中找到的最远的地方,或者我子域的文件夹仅位于此文件夹中(即,我实际上不能通过按ѭ1来访问根目录)或添加任意数量的
\"../\"s
。 我需要做的就是使用include或要求从dev.mydomain.com页面上的mydomain.com获取我的PHP类。显然你不能做
include \"http://somedomain.com/file.php\"
。也许有一个PHP函数可以访问服务器根目录?     

解决方法

您可以将魔术常数与dirname结合使用,如下所示:
$root = dirname(dirname(__FILE__));
它使您可以访问您的根目录,并从那里可以执行以下操作:
$path = $root . \'/subdomain_folder/\' . $filename;
检查出这些引用的目录名和魔术常数 http://php.net/manual/zh/function.dirname.php http://php.net/manual/zh/language.constants.predefined.php     ,您无法跳回并进入子域文件夹的事实是主机的一个限制-您也许可以与他们谈谈。 您实际上可以执行
include \"http://somedomain.com/file.php\"
,但是
file.php
需要输出有效的PHP,而不是处理该PHP的结果。这意味着该文件可以公开访问,并且任何人都可以查看您的代码,这可能是安全问题。也许将其包装在PHP身份验证中?     ,你遇到了什么错误?可能是权限错误,或者是PHP open_basedir限制(最有可能)。您可以通过php.ini关闭open_basedir和/或PHP安全模式。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...