【发布时间】:2015-02-21 04:28:31
【问题描述】:
我有一个脚本,它使用file_get_contents() 从远程服务器获取 json 响应。
虽然 file_get_contents() 在本地文件上正常工作,但不能使用 http 或 https 它给我以下错误 file_get_contents(): http:// wrapper is disabled in the server configuration by allow_url_fopen=0 in 和 file_get_contents(https://api.domain.com/resolve.json?url=blablabla): failed to open stream: no suitable wrapper could be found .. 它是一个专用服务器,我有 WHM .. 我试过了
- 在 WHM PHP 配置编辑器上设置
allow_url_fopen = on但这不起作用。 - 在发生错误的目录中创建一个带有
allow_url_fopen = on的php.ini 文件,但这不起作用。 - 在 PHP 脚本的开头添加了
ini_set('allow_url_fopen', 'On');,但这不起作用。
我知道我可以改用 Curl,但我想知道为什么这不起作用.. 脚本在其他服务器和 localhost 上正常工作
更新:
phpinfo();
给我
allow_url_fopen Off
allow_url_include Off
always_populate_raw_post_data Off
这意味着我的 php.ini 更改没有生效.. 我做错了什么?
【问题讨论】:
-
allow_url_fopen可能已被覆盖,因此您无法打开它。即使使用您的 php.ini 等,运行phpinfo()并查看它是否真的被更改了。我的建议是使用 curl,fwiw。 -
在
/etc/中编辑php.ini,重启网络服务器service httpd restart后