PHP-fopen($url)无法打开流:中的权限被拒绝

PHP-fopen($url)无法打开流:中的权限被拒绝,php,fopen,Php,Fopen,我必须使用一个非常相似的php配置(实际上是在同一个托管帐户上)、几乎相同的php代码和相同的文件结构创建一个网站。在某个时候,我打电话给fopen(http://example.com/rssfedd.xml)检索RSS源 一切都很好,我得到: 警告:福朋(http://affaires.lapresse.ca/rss/2399.xml) [function.fopen]:无法打开流:中的权限被拒绝 /var/www/vhosts/danielpoiriergda.ca/httpdocs/sn

我必须使用一个非常相似的php配置(实际上是在同一个托管帐户上)、几乎相同的php代码和相同的文件结构创建一个网站。在某个时候,我打电话给fopen(http://example.com/rssfedd.xml)检索RSS源

一切都很好,我得到:

警告:福朋(http://affaires.lapresse.ca/rss/2399.xml) [function.fopen]:无法打开流:中的权限被拒绝 /var/www/vhosts/danielpoiriergda.ca/httpdocs/snippet/lastRSS.php 第143行

两个网站都启用了php调试模式,并且都对文件和文件夹具有相同的权限。 对于本地值和主值,info.php都启用了*允许url\fopen*

以下是我在两个phpinfo()文件中发现的主要差异:

不工作站点:服务器API CGI/FastCGI

工作站点:服务器API Apache 2.0处理程序

在工作站点上,加载的配置文件字段给出的路径中没有php.ini文件

编辑: 我知道这条线可能死了,但不是问题所在。 我检查,使用Netbeans fill diff,两个域上的所有PHP代码和PHP.ini都完全相同

我知道有人问过类似的问题,但这些问题对我没有帮助。
谢谢大家!

最后,我联系了我的Web服务器技术支持,他们解决了问题。他们做到了:

向SELinux添加异常


我不知道SELinux是什么,也不知道他们具体做了什么。

检查安全模式是否已打开,这将禁用启用的allow\u url\u fopensafe\u模式。我试图关闭它,但仍然无法再次检查我的评论,“这将禁用allow_url_fopen”,请您的主持人关闭它-如果他们不关闭(为什么他们打开了它?),然后开始使用cURL为您抓取文件。。。检查它是否已安装。可能是防火墙相关的问题?在这里碰撞了一个旧线程,但我想我会评论一下他们实际做了什么。SELinux中有一个名为“httpd\u can\u network\u connect”的标志,默认设置为Off。它需要设置为on。使用
getsebool-a | grep http
查找您的内容。如果设置为关闭,请使用
setsebool-P httpd\u can\u network\u connect on
  $f = fopen("http://affaires.lapresse.ca/rss/2399.xml", 'r');