【问题标题】:including a remote file in PHP在 PHP 中包含一个远程文件
【发布时间】:2009-07-21 10:17:27
【问题描述】:

我无法在我的 PHP 脚本中包含远程 PHP 文件。我想我的主机更改了 php 设置。

我使用的代码是:

include "http://domain.com/folder/file.php";

如何允许使用 php.ini/.htaccess 启用包含功能?

还有其他解决方法吗?

谢谢。

【问题讨论】:

  • 我刚刚检查过,allow_url_fopen 和 allow_url_include 在我的服务器上都是“开启”的。会不会有其他问题?
  • 您要添加的 URL 是什么?

标签: php include


【解决方案1】:

要允许包含远程文件,必须在 php.ini 中将指令 allow_url_include 设置为 On

但从面向安全的角度来看,这很糟糕;因此,它通常被禁用(实际上我从未见过它启用)

它与allow_url_fopen 不同,后者处理打开(但不包括)远程文件——通常启用这个,因为它使通过 HTTP 获取数据更容易(比使用 curl 更容易)

【讨论】:

  • 取决于服务器配置(PHP 版本)。 allow_url_include => 自 PHP 5.2.0 起可用。自 PHP 7.4.0 起已弃用。
【解决方案2】:

要使用远程包含,必须在 php.ini 中设置 allow_url_fopenallow_url_include 选项

请注意,如果远程服务器启用了 php,您将获得该远程脚本的 输出,而不是脚本本身。如果您确实想获取源代码,可以在远程服务器上添加符号链接,例如ln -s file.php file.php.source 然后让你的包含参考 file.php.source 代替。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 1970-01-01
    • 2011-03-14
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多