Laravel Filament在cPanel环境下无法上传50MB PDF文件
Laravel Filament cPanel环境无法上传50MB PDF文件的排查方案
确认PHP配置实际生效
- 创建
phpinfo.php文件(内容为<?php phpinfo(); ?>)并访问,查看以下参数值需大于50MB(建议设为60MB):upload_max_filesizepost_max_size(必须大于upload_max_filesize)memory_limit
- 注意cPanel可能存在域名独立php.ini,确认修改的是当前站点使用的配置文件,而非全局php.ini。
- 创建
检查Laravel与Filament的上传限制
- 确保Filament的FileUpload组件设置了足够的大小限制,示例代码:
FileUpload::make('document') ->maxSize(52428800) // 对应50MB,单位为字节 ->acceptedFileTypes(['application/pdf']); - 执行
php artisan config:clear清除Laravel配置缓存,避免旧配置残留。
- 确保Filament的FileUpload组件设置了足够的大小限制,示例代码:
排查cPanel额外限制
- 临时关闭ModSecurity测试(若有权限),部分规则会拦截大文件上传,测试后可联系主机商调整规则。
- 确认站点磁盘配额充足,剩余空间需大于50MB。
- 检查Web服务器配置:
- Apache需调整
LimitRequestBody为62914560(60MB); - Nginx需设置
client_max_body_size 60m;。
- Apache需调整
调整超时参数
- 修改PHP的
max_execution_time和max_input_time为300秒以上,避免上传超时; - 对应调整Apache的
Timeout或Nginx的client_body_timeout、send_timeout参数。
- 修改PHP的
内容的提问来源于stack exchange,提问作者Nihir Zala
相关产品推荐
相关产品推荐

