不能使用子域包含来自root的php文件

时间:2016-02-01 19:55:18

标签: php include-path

我最近为api制作了一个API我已经创建了一个子域但它打破了我的php文件包括

include $_SERVER['DOCUMENT_ROOT'].'/core/init.php';

现在我使用的子域是api.website.com,当我尝试包含它给出子域的根目录时,我需要包含来自website.com的东西,

概要 当我尝试包含init.php时,我得到了

Warning: include(/home/website/public_html/API/core/init.php): failed to open stream: No such file or directory in /home/website/public_html/api/apex/getusers.php on line 2

当我真正需要时

Warning: include(/home/website/public_html/core/init.php): failed to open stream: No such file or directory in /home/website/public_html/api/apex/getusers.php on line 2

如果需要,我为我的语法道歉。

3 个答案:

答案 0 :(得分:1)

将包含路径更改为

include ("../../core/init.php");

将解决您的问题。但是,这不是推荐的方法。

你应该考虑使用像composer这样的依赖管理器。 (https://getcomposer.org/)。然后,您包含的文件将始终位于

之类的目录下
/home/website/public_html/vendor/core

如果/ home / website / public_html / core中的文件发生变化,您的应用程序破解的可能性就会降低。

答案 1 :(得分:0)

这应该有用。

    include("../core/init.php");

答案 2 :(得分:0)

使用以下代码

include_once $_SERVER['DOCUMENT_ROOT'] .  '/../core/init.php';

访问https://developer.hyvor.com/php/including-files-in-root-with-subdomain.php了解详情。