如果我打开访问但仍然出现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
答案 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\bin
和C:\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文件浏览器不显示隐藏文件或其他类型的文件。它仅显示某些扩展名文件。
它终于工作并安装了我的苗条框架。 我希望这对正在苦苦挣扎的人有所帮助。
和平! 骄傲的巴基斯坦人