更改最大的上传文件大小
我有一个网站托pipe在PC上,我没有访问。 我有一个上传表格,允许人们上传高达30MB的MP3文件。 我的服务器端脚本是在PHP中完成的。
每次尝试上传文件时,都会收到一个错误,声称文件超出了允许的最大大小,所以我需要增加大小。 我在网上的研究build议改变我没有访问的.htaccess
文件,所以这是行不通的。 其他人build议我应该添加一个自定义的php.ini
文件到我的根没有工作。 还有其他build议吗?
您需要在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服务器才能使用新的configuration。
如果你不能改变你的php.ini,那你的运气不好。 您不能在运行时更改这些值; 如果上传的文件大于php.ini中指定的值,执行到达ini_set
执行时间将失败。
请参阅核心php.ini指令的描述 。
你可以通过一个.htaccess
文件来改变它。
.htaccess
文件存储在您的.php
文件所在的目录中。 他们修改该文件夹和所有子文件夹的configuration。 你只需在你select的目录中创build一个.htaccess
文件来使用它们(或者修改它,如果存在的话)。
以下内容可以使您增加上传限制(如果服务器提供商允许通过.htaccess
更改PHPconfiguration)。
php_value upload_max_filesize 40M php_value post_max_size 42M
我有同样的问题,我创build了一个.user.ini文件,并把它放在上传脚本所在的目录。 比那个文件里面我设置了这两个值:
upload_max_filesize = 40M post_max_size = 40M
这对我来说很好
你也可以使用ini_set函数 (只适用于5.3以下的PHP版本):
ini_set('post_max_size', '64M'); ini_set('upload_max_filesize', '64M');
就像@acme所说的那样,在php 5.3及以上版本中这个设置是PHP_INI_PERDIR指令,所以不能用ini_set来设置。 你可以改用user.ini。
要findini文件,首先运行
php -i | grep -i "loaded configuration file"
然后打开文件并更改
upload_max_filesize = 2M post_max_size = 2M
用你想要的大小replace2M,例如100M。
我有一个博客文章了解更多信息http://www.seanbehan.com/how-to-increase-or-change-the-file-upload-size-in-the-php-ini-文件换WordPress的;
我在过去有同样的问题..我通过.htaccess
文件修复它
当您通过.htaccess
对php configration进行更改时,您应该将configuration放在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文件脚本所在的目录中创build一个名为.user.ini
的文件解决了这个问题(这意味着此目录中的任何PHP脚本都会获得新的文件大小限制)
.user.ini
的内容是:
upload_max_filesize = 40M post_max_size = 40M
那么,我想在这里加2分钱。
我使用共享虚拟主机,我多次解决这个问题,试图自己解决,但无济于事。 最后,我设法通过检查各种networking资源和联系我的托pipe服务提供商来解决它。 我的问题是“如何更改共享虚拟主机中的php值memory_limit
?”,“如何更改共享max_input_vars
主机中的php值upload_max_filesize
?”,“如何更改共享max_input_vars
主机中的php值max_input_vars
?”,“我如何更改php共享webhosting中的max_execution_time
?“,”如何在共享webhosting中更改php值max_input_time
?“ 以及更多通过configuration或更改php.ini或.htaccess
文件。 我试图改变他们,但问题出现了。 最后,我联系了我的托pipe服务提供商,事实certificate,我把我的PHP本地,他们改变了PHP 5.6,这里是他们的答案:
“你的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安装,我pipe理这个需求只需要通过我的cPanel去php设置,点击phpselect扩展,然后打勾zip部分,就是这样。
谢谢。
PS:我接受良好的做法,如果你看到任何不好的做法,请让我知道,我会尽量改变它们。 谢谢。
非这些解决scheme为我工作! (默认情况下已经设置为32M)。在大多数情况下,问题是max_allowed_packet
我在本地主机上工作,使用MAMP
。
这里是解决scheme;
1.如果你没有my.ini
加
--max_allowed_packet=168435456
至
...\MAMP\bin\startMysql.sh
2.如果你有my.ini
下
[mysqld]
加
max_allowed_packet=100M
DONE!
我有同样的问题。 我尝试了三种通常build议的方法:
- 的functions.php
- php.ini中
- 的.htaccess
没有,如果这解决了我的问题。 我正在使用godaddy,并遇到了一个build议的解决scheme是:
- 进入虚拟主机 ,然后pipe理
- 在软件下selectselectPHP版本
- 在字体颜色:蓝色的表格右上angularselect切换到PHP选项
- 在最下面的部分,你可能会有upload_max_filesize = 2M
- 现在,请随时更改
- 一定要点击保存button!
- 现在转到您的wp-admin面板,select媒体,然后添加
瞧! 现在你有一个不同的最大上传文件大小:)
你需要检查三件事情。
upload_max_filesize
, memory_limit
和post_max_size
完全在php.iniconfiguration文件中。
所有这三个设置限制了PHP可以提交和处理的数据的最大大小。
通常post_max_size
和memory_limit
需要大于upload_max_filesize
。
所以总共需要检查三个variables以绝对确定。
也许这应该是对@ seanb123和@Fredrick Gauss评论他的评论,但对于我在Drupal 8.1中,我需要修改的文件位于这里:
/etc/php/7.0/apache2/php.ini
我修改了其他四个php.ini文件,其中包括一个名为“Loaded Configuration File”(php -i | grep -i“加载的configuration文件”)的系统,以及info.php页面上find的文件,但是没有一个帮助。 我从2012年的一个网站上find了正确的path,在那里说path被弃用,甚至还没有。 当然,对于PHP7而言,它与当时所说的有些不同:/etc/php5/apache2/php.ini,但概念是一样的。
也许这会帮助一些像我自己一样无助的人。
话虽如此,在我的情况下,OP的答案将是有人在框上的pipe理员权限将不得不这样做。
帮助我的网站: http : //www.evilbox.ro/linux/remove-ispconfig-maximum-upload-size-of-2m-for-wordpress/
这也在这里解决: 在PHPMyAdmin中导入文件大小限制
很多时候我已经注意到,网站机智共享主机不允许更改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);