Laravel 11 Octane环境下如何提升最大文件上传大小?
解决Laravel 11 + Octane大文件上传限制问题
Octane会独立接管HTTP请求处理流程,因此自带文件上传限制配置,和PHP-FPM、Nginx的设置互不影响,你需要调整以下几个关键配置点:
1. 修改Octane核心上传限制配置
打开项目根目录下的config/octane.php文件,找到max_upload_size和max_post_size两个配置项,将默认的2M调整为你需要的大小(比如'10M'代表10MB):
'max_upload_size' => env('OCTANE_MAX_UPLOAD_SIZE', '10M'), 'max_post_size' => env('OCTANE_MAX_POST_SIZE', '10M'),
也可以直接在.env文件中设置环境变量,避免修改配置文件:
OCTANE_MAX_UPLOAD_SIZE=10M OCTANE_MAX_POST_SIZE=10M
2. Swoole驱动额外配置
如果使用Swoole作为Octane驱动,还需要在config/octane.php的swoole配置段中,调整package_max_length的值,确保它大于你设置的上传文件大小:
'swoole' => [ // 其他配置项... 'package_max_length' => env('OCTANE_SWOOLE_PACKAGE_MAX_LENGTH', 10 * 1024 * 1024), // 10MB对应的字节数 ],
对应的环境变量设置方式:
OCTANE_SWOOLE_PACKAGE_MAX_LENGTH=10485760
3. Frankenphp驱动额外配置
如果使用Frankenphp,除了上述的max_upload_size,还可以通过两种方式设置最大请求体大小:
- 启动Octane时添加命令行参数:
php artisan octane:start --server=frankenphp --max-body-size=10M
- 或者在
config/octane.php的frankenphp配置段中添加固定参数:
'frankenphp' => [ // 其他配置项... 'command' => [ '--max-body-size=10M', ], ],
4. 重启Octane服务
所有配置修改完成后,必须重启Octane服务才能让新配置生效:
php artisan octane:restart
也可以先停止再启动服务:
php artisan octane:stop php artisan octane:start --server=你的驱动名(swoole/frankenphp)
验证配置是否生效
运行以下命令查看当前Octane的配置信息,确认上传限制已更新:
php artisan octane:info
内容的提问来源于stack exchange,提问作者Jan Husák
相关产品推荐
相关产品推荐

