如何解决包括来自子域的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安全模式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。