php-无法在远程服务器上包含文件
收藏

提问

我的问题是我无法在远程服务器上包含文件.

<?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上
但是要确保我在php.ini中将allow_url_include和allow_url_fopen设置为On

如果我将http://xx.xxx.xxx.xx:8080/path/to/myfile.inc复制到浏览器,则可以使用该文件.
我也尝试过包括其他远程文件(在标准端口80上),但还是没有运气

我真正感到困惑的是,所有内容都可以在我办公室的本地计算机(mac,ubuntu)上运行,而不是在服务器上运行.我已经在2个不同的服务器(虚拟服务器和专用服务器)上对其进行了测试.
我可以使用fopen()获取文件.

最佳答案

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

但是,正如评论中提到的那样,

巨大

应用程序上的安全漏洞.

    公众号
    关注公众号订阅更多技术干货!