无法在远程服务器上包含文件

我的问题是,我不能在远程服务器上包含一个文件。

<?php echo "Including\n"; require_once("http://xx.xxx.xxx.xx:8080/path/to/myfile.inc"); echo "Done..\n"; ?> 

该脚本在require_once函数中失败。 我正在运行的脚本:php -d allow_url_include =在script.php,但要确保我已经设置allow_url_include和allow_url_fopen开启在php.ini

如果我将http://xx.xxx.xxx.xx:8080 / path / to / myfile.inc复制到浏览器中,我将为该文件提供服务。 我也试图包括其他远程文件(在标准的端口80),但仍然没有运气

在那里我真的很困惑的是,一切工作从我的本地计算机在我的办公室(Mac,Ubuntu的),而不是从我们的服务器。 我已经在2个不同的服务器上进行了testing,虚拟和专用。 我可以用fopen()获取文件。

Solutions Collecting From Web of "无法在远程服务器上包含文件"

这可以通过在php.ini on设置allow_url_include来完成。

但是,如评论中所提到的,这将打开一个

巨大

安全漏洞在您的应用程序。

Require_Once只能用于本地文件。 如果你想获得一个远程文件使用file_get_contents。 记住,如果你想从这样的远程服务器中包含PHP,这将是真正的不安全或PHP将在远程服务器上执行。