allow_url_fopen打开,仍然无法获取数据

时间:2013-07-29 15:06:48

标签: php

如果我打开访问但仍然出现php错误,我该怎么办?

Warning: file_get_contents() [function.file-get-contents]: http:// wrapper is disabled in the server configuration by allow_url_fopen=0 in ------------- on line 40

Warning: file_get_contents(http://finance.google.co.uk/finance/info?client=ig&q=NASDAQ:MSFT) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in --------------- on line 40

enter image description here

2 个答案:

答案 0 :(得分:4)

尝试

ini_set("allow_url_fopen", 1);
if (ini_get("allow_url_fopen") == 1) {
echo "allow_url_fopen is ON";
} else {
echo "allow_url_fopen is OFF";
}
print ini_get("allow_url_fopen");  

或者您可以尝试不同的方法

function curl($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    $return = curl_exec($ch);
    curl_close ($ch);
    return $return;
}
$string = curl('http://www.example.org/myfile.php'); 

尝试将此代码添加到。htaccess文件中:

php_value allow_url_fopen On

如果使用wamp php.ini是两个文件夹C:\wamp\bin\apache\apacheVersion\binC:\wamp\bin\php\phpVersion,请在两个文件中设置allow_url_fopen=on

答案 1 :(得分:0)

我花了三天时间才弄清楚。 决定发布此邮件,以防您遇到类似我的情况。 就我而言,我正在使用共享托管设置,并且试图安装composer,然后安装苗条框架。

在CPanel中,我选择了php 7.2,并启用了phar和json。 但是从SSH外壳程序运行运行composer命令时,它会说未安装phar和json扩展。而且php版本是5.6。

php --ini

php -v

然后我检查了SSH上的所有别名,以查看绑定了哪个PHP

alias

因此,我了解到SSH shell PHP版本与前端cpanel php无关。 都是完全独立的设置。

现在要更新外壳的php版本,我通过外壳命令将php别名为php72文件夹。 然后问题是如何启用phar和json库。因此,我在执行composer.phar脚本时在命令中传递了它们以使用那些库。

$ php -d extension=phar.so -d extension=json.so composer.phar require slim/slim:4.0.0

您还可以通过更新.bash_profile并将SSH的别名定义为;来更改SSH的默认PHP;

alias php='your php folder path'

.bash_profile文件将在用户文件夹的根目录中(如果通过FTP发送)。 CPanel文件浏览器不显示隐藏文件或其他类型的文件。它仅显示某些扩展名文件。

它终于工作并安装了我的苗条框架。 我希望这对正在苦苦挣扎的人有所帮助。

和平! 骄傲的巴基斯坦人