干预图像make()在包含较大文件的Laravel控制台内核计划上不起作用

时间:2019-01-01 12:49:23

标签: php laravel guzzle intervention

我在console\kernel.php上有这样的时间表:

$client = new Client;
// I use GuzzleHttp\Client because I can't turn `allow_url_fopen` on
$response = $client->get($image_url);
$body = $response->getBody();
$str = (string) $body;
$image = Image::make($str);

它适用于较小的图像(〜<200KB),但是对于具有〜> 200KB的文件,最后一行崩溃而没有任何错误日志。

我还试图让strlen($str)将其长度与$image = Image::make($str);之前的远程文件的字节进行比较。即使文件大小为898,357 bytes并返回898357也没关系。

我试图在web.php中使用以下代码以这种方式进行调试:

$client = new Client;
$response = $client->get($image_url);
$body = $response->getBody();
$str = (string) $body;
$image = Image::make($str);
return  $image->response('jpg', 70);

即使在放大图像时也能很好地工作,但是可以这样:

$client = new Client;
$response = $client->get($image_url);
$body = $response->getBody();
$str = (string) $body;
$image = Image::make($str);
return  $image->response();

它只是对小文件的响应,而对大文件崩溃。

有什么办法可以解决这个问题?

0 个答案:

没有答案