我正在使用 Laravel Vapor 来托管一个网站。到目前为止,我还没有遇到缺少文件系统的问题,但现在我遇到了障碍。
我正在尝试优化 .png 和 .jpeg 文件,而我发现的库需要一个文件系统来编写压缩文件:
PHP 图像缓存 ( https://nielse63.github.io/php-image-cache/ )
我猜我可以设置一个在额外的传统服务器上运行的外部服务......但我更愿意让它与 Vapor 一起工作。
有任何想法吗?
我正在使用 Laravel Vapor 来托管一个网站。到目前为止,我还没有遇到缺少文件系统的问题,但现在我遇到了障碍。
我正在尝试优化 .png 和 .jpeg 文件,而我发现的库需要一个文件系统来编写压缩文件:
PHP 图像缓存 ( https://nielse63.github.io/php-image-cache/ )
我猜我可以设置一个在额外的传统服务器上运行的外部服务......但我更愿意让它与 Vapor 一起工作。
有任何想法吗?
您是否尝试过直接使用 GD Library 或 Imagick?将 Imagick 与 s3 上的文件一起使用,您可以执行以下操作:
$s3 = \Storage::disk('s3');
$file = $s3->get('tmp/'.$uuid); // assuming Vapor upload to S3 here
$imagick = new \Imagick(); // extension can be added to Vapor.
$imagick->readImageBlob($file);
$imagick->thumbnailImage(200,200);// whatever size you are looking for.
$s3->put('path/on/s3/for/your/optimized/file',$imagick->getImageBlob(),['CacheControl' => 'max-age=10000000, public', 'ACL' => 'public-read']) // whatever options you need
请注意,读取和写入都直接来自/到 s3。无需写入本地磁盘