Laravel中的PostTooLargeException

时间:2017-04-18 05:54:42

标签: php laravel

当我尝试上传大小超过2 MB的文件时,我收到的帖子太大了我已经尝试了所有内容,例如在php.ini文件中增加post_max_size和max_upload_size,但我仍然得到相同的错误。当我在validatepostsize.php文件中评论处理函数时,它显示令牌不匹配错误:

5 个答案:

答案 0 :(得分:3)

我认为您可以在php.ini文件中查看以下参数,例如:

upload_max_filesize = 40m
post_max_size = 50m

重新启动服务器之后( apache

希望这对你有用!

答案 1 :(得分:2)

其中一个问题是Laravel php artisan serve本地开发服务器使用php / cli下的php.ini而不是php / apache2下的

因此,如果您在使用php artisan serve进行开发时遇到此问题,请转到/etc/php[version]/cli文件夹下的 php.ini

答案 2 :(得分:1)

首先,检查您的PHP版本。

php -v

下面的命令将打印服务器正在使用的php.ini文件的路径。

php -i | grep php.ini

下一步。

sudo nano /etc/php/7.4/cli/php.ini

默认情况下, post_max_size upload_max_filesize memory_limit 的值分别为 8M 分别为2M 128M

搜索这些变量并更改其值,同时确保大小遵循与默认值相同的比率。

请参见以下示例:

post_max_size = 2G
upload_max_filesize = 1G
memory_limit = 3G

对于“重载站点”,安装并运行FPM很有用。

sudo apt install php7.4-fpm -y
sudo service php7.4-fpm start

最后,重新启动您的Web服务器。

sudo service apache2 restart

答案 3 :(得分:0)

实际上,我正在寻找相同问题的相同答案。 我发现可以通过编辑.htaccess文件来解决此问题。

在文件中添加以下代码。

php_value upload_max_filesize 50M
php_value post_max_size 50M

以上两行将解决此问题,但是如果您添加这么多的行,则下面给出的行将使您免于以后的麻烦。像执行时间到期和 全部。

php_value max_input_time 120
php_value max_execution_time 120

答案 4 :(得分:0)

这不是更改php.ini中的参数然后重新启动apache的最佳解决方案:

upload_max_filesize = 128M
post_max_size = 128m

//or whatever value you think is right

像这样重新启动apache: sudo service apache2 restart

对我而言,最好的方法是使用laravel中的PostTooLargeException来捕获Error HandlingError Handling

有关如何使用PostTooLargeException捕获Error Handling的详细答案,您可以在以下线程中看到我的答案:thread with full answer。我奋力挣扎了大约2天,之后我才完全知道如何实现这一目标。

祝您编程愉快!