我昨天启动了一个早期测试版网站.是vrep.io,我遇到了一个奇怪的问题.当上传大于2mb的图像(用户头像)时,laravel验证程序会返回“ validation.uploaded”错误消息.
验证码:
protected function basicValidator( array $data ) {
return Validator::make( $data,[
'name' => 'required|min:2|max:255','occupation' => 'max:255','avatar' => 'mimes:jpeg,png,gif|dimensions:min_width=500,min_height=500|max:8000','drop-avatar' => 'in:1,0',],[
'avatar.mimes' => 'Uploaded file format should be jpeg,jpg,png or gif.','avatar.dimensions' => 'Image should have minimum 500x500px dimensions.','avatar.max' => 'Maximum allowed file size is 6 MB.',] );
}
我更改了当前的php.ini文件参数:
upload_max_filesize 100M
post_max_size 100M
memory_limit 256M
它在AWS EC2实例上运行. UBUNTU 16.04和Nginx.
我还对nginx配置文件进行了更改:
$sudo vim /etc/nginx/sites-available/default
client_max_body_size 100m;
重新启动nginx和php,甚至重新启动整个Web服务器.没有效果.上载大于2mb的文件时仍然出现相同的错误.
ps.我在本地运行homestead,文件上传工作正常.问题仅在生产服务器上.
我在那里想念什么?
最佳答案
我不知道如何,但是即使我整天都在寻找答案,我终于在这里发布后的几分钟内终于找到了解决方案. SO上发生了一些魔术.
所以我在编辑错误的php.ini文件.我正在通过ssh检查使用了哪个php ini文件,如下所示:
$php --ini
但是它在那里显示了错误的文件.实际配置文件由于某些原因而有所不同.
现在我转储了php信息:
<?php
phpinfo();
?>
找到实际的配置文件,一切正常.希望这会帮助到别人.