有关laravel框架的docker配置就不多叙述了,laravel官网有laravel sail的教程,其中需要说明的是sail基于Ubuntu:22.04镜像搭建的php环境,而我目前使用的是php8.1-fpm镜像。为了可以在php容器内使用krpano,需要额外安装一些lib库。经过多次构建,目前发现需要额外安装的库包括libudev-dev,libxrender-dev,libxtst-dev,libgtk2.0-0,libnss3,libasound2。将依赖库安装成功后即可运行krpanotools进行图片的处理了。
RUN apt-get update && apt-get install -y \
libudev-dev \
libxrender-dev \
libxtst-dev \
libgtk2.0-0 \
libnss3 \
libasound2
具体krpano的输出内容和目录可以通过配置进行修改。license如何写入可以在Dockerfile中进行注入。
之后可以自行创建laravel command进行图片处理了。
$imagePath = storage_path('vr-images/4.jpg');
exec(sprintf('krpanotools makepano %s', $imagePath), $result, $resultCode);
if(!$resultCode) {
// upload oss
}