file_get_contents failed to open stream 解决报错问题的办法

file_get_contents函数在获得远程文件时提示Warning: file_get_contents failed to open stream,希望例子能够帮助到各位,希望例子能够帮助到大家。 在做项目时用 file_get_contents 来获取数据,php 报错 PHP Warning: file_get_contents failed to open st
file_get_contents函数在获得远程文件时提示Warning: file_get_contents failed to open stream,希望例子能够帮助到各位,希望例子能够帮助到大家。
在做项目时用 file_get_contents 来获取数据,php 报错  PHP Warning: file_get_contents failed to open stream: no suitable wrapper could be found.
最后用了curl来获取数据!

系统:centos 6.5
在错误日志中,php报的错误是:
Warning: file_get_contents() [function.file-get-contents]: http:// wrapper is disabled in the server configuration by allow_url_fopen=0
failed to open stream: no suitable wrapper could be found

此警告说服务器阻止访问远程文件,修改php.ini,把
​​​
allow_url_fopen = Off
allow_url_include = Off
改成
allow_url_fopen = On
allow_url_include = On
重启php-fpm或者重启web服务。
如果还是无法解决的话windows下处理方法:
c:\windows\php.ini
extension=php_openssl.dll 把前的;去掉,重启iis服务。

linux下处理方法:
/etc/php.ini
extension=php_openssl.dll 把前的;去掉,重启apache服务。

如果上面问题没能解决我的问题,我们可以如下测试。
$context = stream_context_create(array('http'=>array('ignore_errors'=>true)));
$contents = file_get_contents($url, FALSE, $context);

可以请求时,忽略错误。可以解决警告信息
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

方法一: 在php中,抓取https的网站,提示如下的错误内容: Warning: file_get_contents() [function.file-get-contents]: failed to open stream: Invalid argument in I:Webmyphpa.php on line 16 打开php.ini文件找到 ;extension=php_openssl.dll ,去掉
PHP 5.3 ereg() 无法正常使用,提示Function ereg() is deprecated Error。 问题根源是php中有两种正则表示方法,一个是posix,一个是perl,php6打算废除posix的正则表示方法所以后来就加了个 preg_match。 此问题解决办法很简单,在ereg前加个过滤提示信息符
前一段做的一个PHP程序在服务器运行正常,被别人拿到本机测试的时候总是出现Notice: Undefined index:这样的警告,这只是一个因为PHP版本不同而产生的警告(NOTICE或者WARNING),而非错误(ERROR)。PHP中的变量在不声明的情况下使用的时候,PHP4运行正常,但
1、字符 对于单个字符,通常按字面意义表示,字符指出其后的字符为特殊字符,所以不做字面意义解释,而解释为特殊字符。 例如/b/相当于字符b,通过在b前面加一个反斜杠,即为//,则该字符变成特殊字符,表示匹配一个单词的分界线。对于几个字符,通常说明是特殊
本文中的所使用的环境如下 php版本:php7.4 phpword版本:0.18.3 安装: composer require phpoffice/phpword 1、使用模式一: 模板生成word 使用场景: 适合有一套固定的world文档模板,只有几个关键的地方需要改变 使用方式: 下面介绍几行代码就足够完成
Mysqli是php5之后才有的功能,没有开启扩展的朋友可以打开您的php.ini的配置文件。 查找下面的语句:;extension=php_mysqli.dll将其修改为:extension=php_mysqli.dll即可。 相对于mysql有很多新的特性和优势 (1)支持本地绑定、准备(prepare)等语法 (2)