【问题标题】:Including a PHP file in another PHP file [duplicate]在另一个 PHP 文件中包含一个 PHP 文件 [重复]
【发布时间】:2012-10-29 16:36:08
【问题描述】:

可能重复:
including php file from another server with php

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

【问题讨论】:

  • 请问您为什么不直接将其复制到同一台服务器上?只是好奇。

标签: php


【解决方案1】:

来自the manual

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

60.2k rep 赋予我的权力,我建议你不要这样做。

【讨论】:

  • 您能自己承担起让这个答案保持最新状态的责任吗? :D
【解决方案2】:

我认为您的观点有误。大多数情况下,您不希望合并来自不同服务器的 PHP 文件 - 为此,您有 其他技术 用于这样做。

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

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-07-19
          • 2011-10-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-01-06
          • 1970-01-01
          相关资源
          最近更新 更多