我有一个网站托管在我无法访问的PC上。我有一个上传表单,允许人们上传最大30MB的mp3文件。我的服务器端脚本是用PHP完成的。
每次我尝试上传文件时,都会收到一个错误,声称文件超过了允许的最大大小,因此我需要增加大小。我在网络上的研究建议更改。htaccess文件,我没有访问权限,所以这将不起作用。其他人建议我添加一个自定义的php.ini文件到我的根目录,但这并不奏效。还有其他建议吗?
我有一个网站托管在我无法访问的PC上。我有一个上传表单,允许人们上传最大30MB的mp3文件。我的服务器端脚本是用PHP完成的。
每次我尝试上传文件时,都会收到一个错误,声称文件超过了允许的最大大小,因此我需要增加大小。我在网络上的研究建议更改。htaccess文件,我没有访问权限,所以这将不起作用。其他人建议我添加一个自定义的php.ini文件到我的根目录,但这并不奏效。还有其他建议吗?
当前回答
我也有这个问题,并通过在/etc/nginx/nginx.conf中设置这个设置来修复它
client_max_body_size 0;
0,即无限。
此外,如果你有一个反向代理运行nginx,服务器也应该有这个设置(这是我在这里抛出的)
其他回答
答案有点不完整,你必须做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
这些解决方案都不适合我!!(默认设置为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
完成了!
我也有同样的问题。我尝试了通常被建议的三种方法:
显然也 php . ini . htaccess
如果这能解决我的问题就没有了。我正在使用godaddy,遇到了一个建议的解决方案:
到网络主机,然后管理 在“软件”下选择“选择PHP版本” 选择切换到PHP选项在表格的右上角,字体颜色:蓝色 在最下面的部分,您可能会有upload_max_filesize = 2M 现在,请随意更改它 一定要点击保存按钮! 现在转到wp-admin面板,选择Media,然后添加
瞧!现在你有一个不同的最大上传文件大小:)
有了WAMP,一切都很简单
WAMP图标> PHP > PHP设置> upload_max_filesize = nM > n = (2M, 4M, 8M, 16M, 32M, 64M, 128M, 256M, 512M,或选择(自定义))。
服务自动重新加载。
但是,如果您确实没有访问服务器的权限,您可能想要尝试编写一个分块API。
下面是如何做到这一点的图片。