当我尝试上传大小超过2 MB的文件时,我收到的帖子太大了我已经尝试了所有内容,例如在php.ini文件中增加post_max_size和max_upload_size,但我仍然得到相同的错误。当我在validatepostsize.php文件中评论处理函数时,它显示令牌不匹配错误:
答案 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 Handling
:Error Handling
有关如何使用PostTooLargeException
捕获Error Handling
的详细答案,您可以在以下线程中看到我的答案:thread with full answer。我奋力挣扎了大约2天,之后我才完全知道如何实现这一目标。
祝您编程愉快!