我有一个网站托管在我无法访问的PC上。我有一个上传表单,允许人们上传最大30MB的mp3文件。我的服务器端脚本是用PHP完成的。
每次我尝试上传文件时,都会收到一个错误,声称文件超过了允许的最大大小,因此我需要增加大小。我在网络上的研究建议更改。htaccess文件,我没有访问权限,所以这将不起作用。其他人建议我添加一个自定义的php.ini文件到我的根目录,但这并不奏效。还有其他建议吗?
我有一个网站托管在我无法访问的PC上。我有一个上传表单,允许人们上传最大30MB的mp3文件。我的服务器端脚本是用PHP完成的。
每次我尝试上传文件时,都会收到一个错误,声称文件超过了允许的最大大小,因此我需要增加大小。我在网络上的研究建议更改。htaccess文件,我没有访问权限,所以这将不起作用。其他人建议我添加一个自定义的php.ini文件到我的根目录,但这并不奏效。还有其他建议吗?
当前回答
这些解决方案都不适合我!!(默认设置为32M)。问题在大多数情况下是max_allowed_packet
我在本地主机和使用MAMP工作。
这是解决方案;
1. 如果你没有我的。ini
Add
--max_allowed_packet=168435456
To
...\MAMP\bin\startMysql.sh
2. 如果你有my。ini
下
[mysqld]
Add
max_allowed_packet=100M
完成了!
其他回答
答案有点不完整,你必须做3件事
在你的php安装的php.ini中(注意:取决于你是想要CLI, apache,还是nginx,找到正确的php.ini来操作。对于nginx,它通常位于/etc/php/7.1/fpm,其中7.1取决于你的版本。对于apache通常是/etc/php/7.1/apache2)
post_max_size=500M
upload_max_filesize=500M
memory_limit=900M
或者设置其他值。如果你安装了apache,请重新启动/重新加载apache;如果你使用nginx,请使用php-fpm。
我过去也遇到过同样的问题。我通过。htaccess文件修复了它
当你通过。htaccess修改php配置时,你应该把配置放进去 IfModule标签,否则内部服务器错误将产生。
这是一个例子,对我来说很管用:
<IfModule mod_php5.c>
php_value upload_max_filesize 40M
php_value post_max_size 40M
</IfModule>
如果你想了解更多,这是php参考资料。 http://php.net/manual/en/configuration.changes.php
我通过在PHP文件脚本所在的目录中创建一个名为.user.ini的文件解决了这个问题(这意味着该目录中的任何PHP脚本都得到了新的文件大小限制)
.user.ini的内容是:
upload_max_filesize = 40M
post_max_size = 40M
在花了几个小时后,我浏览了几乎所有的帖子,但运气不好。最后用这些步骤解决了问题。这可能是一个奇怪的解决方案,但对我来说很有效。
第一步:在/etc文件夹或/文件夹下运行cmd找到php.ini文件:
grep -rl "post_max_size" | xargs ls -lrth
这里我使用post_max_size关键字来搜索/etc文件夹中的“php.ini”文件,但在某些系统中,你可以在/var/www/html或/var/www/wordpress文件夹中找到这个文件。
我们在互联网上有多个帖子,如果php.ini文件不存在于WordPress文件夹中,那么你可以创建,但在我的情况下,这行不通。
步骤2:
编辑php.ini文件并像这样更改值。
post_max_size = 100M
upload_max_filesize = 100M
在上面,您可以根据您的要求设置任何值。
步骤3:
重新启动httpd或Nginx或apache和PHP服务,或者根据设置,您可以重新启动web服务。
对我来说,httpd和php-fpm服务重启在centos 8中工作:
service httpd restart
service php-fpm restart
现有的答案都有部分解决方案,所以这里是编译的答案:
解决方法一:编辑。htaccess文件 适用于Apache服务器
php_value upload_max_filesize 128M
php_value post_max_size 132M
php_value memory_limit 256M
php_value max_execution_time 300
php_value max_input_time 300
解决方案2:编辑wp-config.php文件 适合Wordpress应用程序
@ini_set( 'upload_max_filesize' , '128M' );
@ini_set( 'post_max_size', '132M');
@ini_set( 'memory_limit', '256M' );
@ini_set( 'max_execution_time', '300' );
@ini_set( 'max_input_time', '300' );
解决方案3:编辑php.ini文件 适用于nginx服务器或php.ini可修改的地方
upload_max_filesize = 128M
post_max_size = 132M
memory_limit = 256M
max_execution_time = 300
max_input_time = 300
可选:Nginx服务器 对于nginx增加最大文件上传大小限制(默认1MB),增加client_max_body_size 128M;HTTP或服务器块中的指令。
设置的重要说明:
upload_max_filesize – set this to a value > than your file size post_max_size – set this to a value > than your upload_max_filesize because overall size of the posted fields may be higher than the filesize memory_limit – set this to a value > than your file size because it limits the maximum amount of memory a script may consume max_execution_time – Maximum execution time of each script, in seconds. Set this to 0 (infinite) if your script requires long time to process file max_input_time - Maximum amount of time each script may spend parsing request data. Default is 60 seconds. Set this to -1 if scripts requires more time
最后,不要忘记重新启动服务器。适用于以下内容:
# if php-fpm is used for processing php
sudo service php7.4-fpm restart
# for nginx
sudo service nginx restart
# for apache
sudo service httpd restart