Answers:
您需要设置的值upload_max_filesize
,并post_max_size
在你的php.ini:
; 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核心指令说明。
post_max_size
。发布字段的整体大小可能大于文件大小,因此,如果您遇到某人上传40MB文件的情况,由于超出限制,该文件将失败post_max_size
。
您可以通过.htaccess
文件进行更改。
.htaccess
文件与文件存储在同一目录.php
中。他们修改该文件夹和所有子文件夹的配置。您只需.htaccess
在您选择的目录中创建一个文件即可使用它们(如果存在的话,也可以对其进行修改)。
以下内容可以使您提高上传限制(如果服务器提供商允许通过更改PHP配置.htaccess
)。
php_value upload_max_filesize 40M
php_value post_max_size 42M
;user_ini.filename = ".user.ini"
; 要禁用此功能,请将此选项设置为空值;user_ini.filename =
我遇到了同样的问题,我创建了一个.user.ini文件,并将其放在上传脚本所在的目录中。在该文件中,我设置了以下两个值:
upload_max_filesize = 40M
post_max_size = 40M
对我来说很棒!
要找到ini文件,请先运行
php -i | grep -i "loaded configuration file"
然后打开文件并更改
upload_max_filesize = 2M
post_max_size = 2M
将2M替换为所需的大小,例如100M。
我也有一篇有关更多信息的博客文章http://www.seanbehan.com/how-to-increase-or-change-the-file-upload-size-in-the-php-ini- WordPress文件
/etc/php5/cli/php.ini
但我的配置文件为/etc/php5/apache2/php.ini
。某种误导。
我过去有同样的问题..我通过.htaccess
文件修复了它
当您通过php配置进行更改时,.htaccess
应将配置放在
IfModule
标记中,否则会发生内部服务器错误。
这是一个例子,对我来说很好用:
<IfModule mod_php5.c>
php_value upload_max_filesize 40M
php_value post_max_size 40M
</IfModule>
如果您想了解更多,这是php参考。 http://php.net/manual/zh/configuration.changes.php
好吧,我想在这里加2美分。
我正在使用共享的虚拟主机,我多次解决了这个问题,试图自己解决,但无济于事。最后,我设法通过检查各种Web来源并联系我的托管服务提供商来解决它。我的问题是“如何更改memory_limit
共享虚拟主机中的php值?”,“如何更改upload_max_filesize
共享虚拟主机中的php值?”,“如何更改max_input_vars
共享虚拟主机中的php值?”,“如何更改共享虚拟主机中的php值” max_execution_time
。共享虚拟主机?”,“如何更改max_input_time
共享虚拟主机中的php值?” 以及通过配置或更改php.ini或.htaccess
文件进行的更多操作。我试图更改它们,但是出现了问题。最后,我联系了托管服务提供商,结果发现我将php设置为native,他们将其更改为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安装,我设法通过仅通过cpanel进入php设置,单击php选择器扩展,然后在zip部分打勾,就完成了这一要求。
谢谢。
PS:我愿意接受良好做法,如果您在此处看到任何不良做法,请告诉我,我将尝试更改它们。谢谢。
也许这应该是@ seanb123和@Fredrick Gauss对他的评论发表评论的评论,但是对我而言,在带有PHP 7的Drupal 8.1中,我需要修改的文件位于:
/etc/php/7.0/apache2/php.ini
我修改了大约四个其他的php.ini文件,包括我的系统中一个名为“已加载的配置文件”(php -i | grep -i "loaded configuration file"
)的文件,以及一个在info.php页面上找到的文件,但是它们都没有帮助。发现正确路径的关键是从2012年开始在一个站点上找到的。他们说,"/etc/php5/apache2/php.ini"
即使返回BACK THEN,该路径也已被弃用,但这为我提供了找到路径的线索。对于PHP7,它与PHP5有所不同,但是概念是相同的。
也许这会帮助像我这样的无助的人。
话虽如此,对我而言,OP的答案是,具有管理员权限的人必须这样做。
对我有帮助的站点:http : //www.evilbox.ro/linux/remove-ispconfig-maximum-upload-size-of-2m-for-wordpress/
这也可以在这里解决: PHPMyAdmin中的导入文件大小限制
编辑:我给自己的笔记全文:
为了更改最大上传大小,请在/etc/php/7.0/apache2/php.ini(或在较旧的版本:/etc/php5/apache2/php.ini)中编辑upload_max_filesize和[如果需要?] post_max_size。
/etc/init.d/apache2重新启动
再次编辑:由于您要导入大文件,因此可能需要更改处理大文件的超时时间。以我
为例,在文件中找到了名为“ config.default.php”的文件,该文件/usr/share/phpmyadmin/libraries/config.default.php
的变量$cfg['ExecTimeLimit'] = 300;
我将我的变量更改为900,以进行大量导入。之后,您需要重新启动Apache
这些解决方案都不适合我!(默认情况下已设置为32M)。问题在大多数情况下是max_allowed_packet
我正在使用localhost并使用MAMP
。
这是解决方案;
1.如果你没有 my.ini
加
--max_allowed_packet=168435456
至
...\MAMP\bin\startMysql.sh
2.如果您有my.ini
下
[mysqld]
加
max_allowed_packet=100M
完成!
如果您编辑了正确的php.ini文件,重新启动了Apache或Nginx,但仍然无法正常工作,那么您也必须重新启动php-fpm:
sudo service php-fpm restart
由于全局更改有些冒险,因此我尝试增加单个脚本的 最大上传值big_file_upload.php
。由于某种原因ini_set
没有帮助。经过一番研究,我想出了这个。放入.htaccess
(除非通过更改了名称AccessFileName
)
<If "%{REQUEST_URI} == '/subfolder/big_file_upload.php'" >
php_value upload_max_filesize 200M
php_value post_max_size 200M
</If>
<Else>
php_value upload_max_filesize 1M
php_value post_max_size 1M
</Else>
为我工作。