0

可能重复:
使用 php 包括来自另一台服务器的 php 文件

每个 php 程序员都知道 php 的 include() 函数用于将 php 文件包含在另一个 php 文件中,但我想知道是否可以包含驻留在不同服务器中的 php 文件。假设我想在 b.php 中包含 a.php 现在假设 a.php 和 b.php 位于不同的服务器中,在这种情况下是否可以在 b.php 中包含 a.php?

4

5 回答 5

2

我认为你从错误的角度来看它。大多数时候,您不想合并来自不同服务器的 PHP 文件——为此,您有其他技术可以做到这一点。

如果您想包含来自另一台服务器的文件并获取源代码,您需要获得权限才能这样做,假设您拥有权限后,您只需将源代码复制到您的服务器即可。

但是,如果您想在不是方法的文件之间进行通信。您可以使用AJAXJSONGET 参数进行通信(可能还有许多其他方法)。

于 2012-11-09T11:06:42.167 回答
2

手册

如果在 PHP 中启用了“ URL fopen 包装器” (它们在默认配置中),您可以使用 URL 指定要包含的文件(通过 HTTP 或其他支持的包装器 - 请参阅支持的协议和包装器以获取协议列表)而不是本地路径名。如果目标服务器将目标文件解释为 PHP 代码,则可以使用与 HTTP GET 一起使用的 URL 请求字符串将变量传递给包含的文件。严格来说,这与包含文件并使其继承父文件的变量范围不同。该脚本实际上正在远程服务器上运行,然后将结果包含到本地脚本中。

凭借 60.2k 代表赋予我的权力,我建议你不要这样做。

于 2012-11-09T10:55:32.357 回答
0

是的,这是可能的,但可能是一个错误的决定?如果 b.php 发生任何事情,a.php 的服务器也会受到损害。file_get_contents 和 exec() 将允许您这样做。它运行重要还是只需要输出?

于 2012-11-09T10:55:19.473 回答
0

正如其他人所说,不,不可能。(否则您将能够阅读任何人的服务器端代码)

在每个视图中,使用 SOAP 或 REST 之类的东西与其他机器通信会更好。

于 2012-11-09T10:59:12.637 回答
0

使用位于单独服务器上的 PHP 文件会给您带来很多问题。如果您的服务器可以访问 PHP 文件的代码,那么任何其他希望浏览该 URL 的人也可以访问。

服务器可以看到的任何外部的东西,任何人都可以看到。

于 2012-11-09T11:03:13.110 回答