许多与Laravel一起使用干预图像的人在尝试使用Image::make($url)
制作图像时遇到问题:
图片来源不可读
有些人甚至会尝试将库从GD更改为Imagik,对我来说这是一笔不小的数目,如果您不确定为什么它不起作用,则不应因次要问题而切换库。
首先,确保在PHP ini文件中将allow_url_fopen
设置为On
。就我而言,已经是On
。
我一直在努力并进入错误跟踪,直到在文件中找到方法isUrl()
为止:
intervention/image/src/Intervention/Image/AbstractDecoder.php
您将看到此方法将使用PHP过滤器FILTER_VALIDATE_URL
测试给定的URL。
在我的情况下,过滤器返回false,因为我的本地域名中带有下划线。我从未遇到与域名有关的问题,这里是一个,因此请首先确保您的URL有效。如果您不确定发生了什么,只需使用以下示例测试URL:
return filter_var($your_url, FILTER_VALIDATE_URL);