我昨天推出了一个早期测试网站。这是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的文件时仍然是同样的错误。
P.S。我在本地运行宅基地,文件上传工作没有任何问题。问题仅出在生产服务器上。
我在那里错过了什么?
答案 0 :(得分:3)
我不知道如何,但即使我一整天都在寻找答案,我终于在发布后几分钟内找到解决方案。 SO上有一些神奇的东西。 所以我正在编辑错误的php.ini文件。我正在通过ssh检查哪个php ini文件使用了这个:
$ php --ini
但它显示错误的文件。实际配置文件因某种原因不同。
现在我转储了php信息:
<?php
phpinfo();
?>
找到实际的配置文件,一切正常。希望这会对某人有所帮助。
答案 1 :(得分:0)
有时您安装php-fpm,并且必须更改它的特定ini。 查找文件的更好方法是使用“ locate”命令:
$ locate php.ini
/etc/php5/cgi/php.ini
/etc/php5/cli/php.ini
/etc/php5/fpm/php.ini
现在,如果您安装了php-fpm,则必须在fpm文件夹中更改php.ini。