加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 代理后面的第三方file_get_contents

发布时间:2020-12-13 22:24:38 所属栏目:PHP教程 来源:网络整理
导读:我正在使用第三方库,它使用file_get_contents()来检索外部文档.因为我在代理后面,我得到了错误: file_get_contents(http://json-ld.org/contexts/person.jsonld): failed to open stream: Connection timed out 我通过stream_context_create()使用代理设置
我正在使用第三方库,它使用file_get_contents()来检索外部文档.因为我在代理后面,我得到了错误:

file_get_contents(http://json-ld.org/contexts/person.jsonld): failed to open stream: Connection timed out

我通过stream_context_create()使用代理设置测试了file_get_contents():

$context = stream_context_create([
  'http' => [
    'proxy' => 'tcp://SERVERNAME:PORT','request_fulluri' => true
  ]
]);

这很好用!!

问题是我无法使用我的代理设置配置第三方库.有没有办法在系统范围内配置此代理设置,以便file_get_contents()可以使用此设置,就像使用curl一样?

export http_proxy=http://SERVERNAME:PORT

与第三方图书馆的卷曲工作正常.但是file_get_contents()似乎没有识别环境变量.

export http_proxy=tcp://SERVERNAME:PORT
export tcp_proxy=tcp://SERVERNAME:PORT

两个都不工作.

解决方法

你尝试过使用stream_context_set_default吗?它可以帮助全局设置上下文.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读