Karp 的技术博客

从此拒绝再使用 file_get_contents 请求网络地址.

PHP file_get_contents() returns "failed to open stream: HTTP request failed!"

今天你发现通服务下 php_error.log 大量抛出错误

[21-Aug-2023 16:59:42 Asia/Shanghai] PHP Warning:  file_get_contents(http://127.0.0.1?xxx): failed to open stream: HTTP request failed! in /data/1.php on line 36

本来想着是 ulimit 被限制了. ulimit -n 输出 :102400 已经非常大了. 还增加了访问服务器的进程.
but 并解决不了问题. 最后只能替换掉 file_get_contents 方法 使用 curl

替换后 问题得到解决了.

相关内容很早前就有说明, 具体原因不详 应该就是文件打开受限制了. 没权限设置无限大, 那就只能平替

https://stackoverflow.com/questions/697472/php-file-get-contents-returns-failed-to-open-stream-http-request-failed

php

版权属于:karp
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
更新于: 2023年08月21日 01:11
4

目录

来自 《[踩坑] PHP file_get_contents() returns "failed to open stream: HTTP request failed!"》