我有一个网站托管在我无法访问的PC上。我有一个上传表单,允许人们上传最大30MB的mp3文件。我的服务器端脚本是用PHP完成的。

每次我尝试上传文件时,都会收到一个错误,声称文件超过了允许的最大大小,因此我需要增加大小。我在网络上的研究建议更改。htaccess文件,我没有访问权限,所以这将不起作用。其他人建议我添加一个自定义的php.ini文件到我的根目录,但这并不奏效。还有其他建议吗?


当前回答

打开php.ini文件。 在php.ini中搜索关键字,如upload_max_filesize。 然后改变文件的大小。 upload_max_filesize = 400M 需要更改最大张贴值。 post_max_size = 400M

其他回答

我过去也遇到过同样的问题。我通过。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.ini中设置upload_max_filesize和post_max_size的值:

; Maximum allowed size for uploaded files.
upload_max_filesize = 40M

; Must be greater than or equal to upload_max_filesize
post_max_size = 40M

修改php.ini文件后,需要重新启动HTTP服务器才能使用新的配置。

如果您不能更改php.ini,那么您就不走运了。您不能在运行时更改这些值;如果上传的文件大于php.ini中指定的值,那么在执行到调用ini_set时将会失败。

请参阅核心php.ini指令的描述。

如果你编辑了正确的php.ini文件,重新启动Apache或Nginx仍然不能工作,那么你必须重新启动php-fpm:

sudo service php-fpm restart 

很多次我都注意到共享主机的站点不允许更改php.ini文件中的设置。甚至根本不能创建.htaaccess文件。在这种情况下,人们可以尝试以下事情

ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');
ini_set('max_input_time', 300);
ini_set('max_execution_time', 300);

你必须找到PHP安装的位置,你会看到PHP .ini文件

只需将该文件打开到任何编辑器中并替换th值

max_file_upload : 2M