不能使用子域包含来自根目录的 php 文件


Cannot include php files from root using subdomain

我最近为该 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

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

将包含路径更改为

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

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

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

/home/website/public_html/vendor/core

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

这应该有效。

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

使用以下代码

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

访问 https://developer.hyvor.com/php/including-files-in-root-with-subdomain.php 了解更多信息。