And*_*vas 7 php nginx laravel docker
我在 docker 容器内使用 laravel + twill 和 php7.4.3-fpm + nginx。除了当我尝试上传高分辨率图像时,一切都工作正常。如果我上传 3000x3000px 的图像,那么当我尝试以更高分辨率(4500x4500px)执行相同操作时,我会收到以下错误,
\n\nmessage: "stream_copy_to_stream(): read of 8192 bytes failed with errno=21 Is a directory"\nexception: "ErrorException"\nfile: "/var/www/backend/vendor/league/flysystem/src/Adapter/Local.php"\nline: 159\ntrace: [{function: "handleError", class: "Illuminate\\Foundation\\Bootstrap\\HandleExceptions", type: "->"},\xe2\x80\xa6]\n0: {function: "handleError", class: "Illuminate\\Foundation\\Bootstrap\\HandleExceptions", type: "->"}\nfunction: "handleError"\nclass: "Illuminate\\Foundation\\Bootstrap\\HandleExceptions"\ntype: "->"\n1: {file: "/var/www/backend/vendor/league/flysystem/src/Adapter/Local.php", line: 159,\xe2\x80\xa6}\nfile: "/var/www/backend/vendor/league/flysystem/src/Adapter/Local.php"\nline: 159\nfunction: "stream_copy_to_stream"\nRun Code Online (Sandbox Code Playgroud)\n\n是php-fpm配置问题吗?是php的问题吗?有人遇到过类似的问题吗?
\n我确实找到了解决方案,我的问题是 php.ini 设置,我忽略它是多么蹩脚。我通过将这些添加到 docker 条目文件来修复它。
sed -i -e "s/upload_max_filesize = 2M/upload_max_filesize = 64M/g" $PHP_INI_DIR/php.ini
sed -i -e "s/post_max_size = 8M/post_max_size = 64M/g" $PHP_INI_DIR/php.ini
sed -i -e "s/memory_limit = 128M/memory_limit = 256M/g" $PHP_INI_DIR/php.ini
Run Code Online (Sandbox Code Playgroud)