我有一个网站托管在我无法访问的PC上。我有一个上传表单,允许人们上传最大30MB的mp3文件。我的服务器端脚本是用PHP完成的。
每次我尝试上传文件时,都会收到一个错误,声称文件超过了允许的最大大小,因此我需要增加大小。我在网络上的研究建议更改。htaccess文件,我没有访问权限,所以这将不起作用。其他人建议我添加一个自定义的php.ini文件到我的根目录,但这并不奏效。还有其他建议吗?
我有一个网站托管在我无法访问的PC上。我有一个上传表单,允许人们上传最大30MB的mp3文件。我的服务器端脚本是用PHP完成的。
每次我尝试上传文件时,都会收到一个错误,声称文件超过了允许的最大大小,因此我需要增加大小。我在网络上的研究建议更改。htaccess文件,我没有访问权限,所以这将不起作用。其他人建议我添加一个自定义的php.ini文件到我的根目录,但这并不奏效。还有其他建议吗?
当前回答
答案有点不完整,你必须做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。
其他回答
我知道这个问题有很多答案,但在php.ini中,大多数变量只用于更改最大上传文件大小
由于有时用户更新了最大文件大小,但没有更新内存限制,导致中断导入过程。
因此,我在这里列出了所有需要更改的相关变量以及最大文件大小
max_execution_time memory_limit display_errors post_max_size upload_max_filesize max_input_time
注意:从现在开始,ini存储在这样的文件夹中 /etc/php/8.1/apache2/php.ini
很多次我都注意到共享主机的站点不允许更改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);
好吧,我想在这里补充我的意见。
I'm using shared webhosting and I tackled this problem many times, tried to resolve it on my own but to no avail. Finally I managed to resolve it through checking various web sources and contacting my hosting service provider. My questions were "How can I change php value memory_limit in shared webhosting?", "How can I change php value upload_max_filesize in shared webhosting?", "How can I change php value max_input_vars in shared webhosting?", "How can I change php value max_execution_time in shared webhosting?", "How can I change php value max_input_time in shared webhosting?" and many more by configuring or changing php.ini or .htaccess file. I tried to change them but problems arose. Finally I contacted my hosting provider, and it turns out that I set my php to native, they changed it to php 5.6, here is their answer:
“你的PHP被设置为‘原生’模式,这意味着你不能重写 这些值。我已经把你的身高改成5.6了,所以你应该可以 走吧。”
之后,我通过ftp Filezilla连接我的网站,也别忘了让你的ftp服务显示隐藏文件,和你的本地计算机这样做,因为。htaccess文件隐藏在我的本地笔记本电脑和我的网站。它可以在public_html文件夹中找到,我只是下载了它,并在文件末尾添加了以下代码,然后将其上传到服务器:
php_value memory_limit 256M
php_value post_max_size 256M
php_value upload_max_filesize 64M
php_value max_input_vars 1800
php_value max_execution_time 300
php_value max_input_time 300
暂时一切正常,如果有什么问题请写在这里并警告我,我可以更改上面显示的代码。顺便说一下,我也上传了一些图片,展示了变化。
还有一件事,我几乎忘记了在你的共享网络托管服务上安装ZipArchive,我通过通过我的cpanel进入php设置,单击php选择器扩展,然后勾选zip部分,这就是全部。
谢谢。
PS:我对好的做法持开放态度,如果你在这里看到任何不好的做法,请告诉我,我会尝试改变它们。谢谢。
你需要在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 . htaccess
如果这能解决我的问题就没有了。我正在使用godaddy,遇到了一个建议的解决方案:
到网络主机,然后管理 在“软件”下选择“选择PHP版本” 选择切换到PHP选项在表格的右上角,字体颜色:蓝色 在最下面的部分,您可能会有upload_max_filesize = 2M 现在,请随意更改它 一定要点击保存按钮! 现在转到wp-admin面板,选择Media,然后添加
瞧!现在你有一个不同的最大上传文件大小:)