无法在干预/图像中从给定网址初始化":" ^ 2.3

时间:2017-02-21 10:02:18

标签: php laravel-5 intervention

我想保存google plus中的图片,如下所示,它在本地计算机上也能正常工作,但上传到ubuntu14时出现以下错误。

$image = Image::make('https://lh6.googleusercontent.com/-Gcp_Wjj7yA0/AAAAAAAAAAI/AAAAAAAAAB8/hl1xcz4FnEI/photo.jpg')
            ->resize(100, 100)->save(public_path('image/userface/fuck.jpg'));

错误

Unable to init from given url

3 个答案:

答案 0 :(得分:2)

我找到了解决此问题的方法。当我们重新获取图像时,有99%的图像可以正常工作,因此我修改了保存功能以尝试保存3次,即使该操作失败了,我们也会中止。

解决方案

    $flag = true;
    $try = 1;
    while ($flag && $try <= 3):
        try {
            Image::make($path)->save(public_path("{$public_app_path}/" . $filename));
            //Image migrated successfully
            $flag = false;
        } catch (\Exception $e) {
            //not throwing  error when exception occurs
        }
        $try++;
    endwhile;

答案 1 :(得分:0)

在Image Intervention软件包参数中,可以通过以下URL读取。

http://image.intervention.io/api/make

第二点:-图片的网址(必须启用allow_url_fopen)。

因此,请检查启用了 allow_url_fopen PHP.INI指令的服务器上托管的正在处理的映像。

您可以通过以下简单的单个php语句检查其是否启用。

echo ini_get('allow_url_fopen') ? 'Enabled' : 'Disabled';

如果发现它已禁用,请启用它,然后检查。 可以!!

答案 2 :(得分:0)

在这里尝试:

{parent block}