我知道这是一个巨大的转发,但我无法解决这个问题。服务器是使用nginx的Ubuntu。
执行phpinfo()
我看到我使用的配置文件是/etc/php/7.0/fpm/php.ini
。
这些是我设置的属性:
upload_max_filesize = 256M
post_max_size = 256M
我重新启动了nginx以及php7.0-fpm
进程,最大上传大小仍然没有变化。
我正在使用wordpress作为最后的手段,我甚至尝试使用增加最大上传大小的插件,甚至没有用。
我也试过在我的.htaccess中设置它,但仍然没有:
php_value post_max_size 256M
php_value uploads_max_filesize 256M
答案 0 :(得分:1)
我找到答案here:
您是否尝试将php.ini放在/etc/php5/fpm/php.ini下?如果我正确理解php5-fpm,这通常是php读取的默认位置。
答案 1 :(得分:1)
默认情况下,NGINX对文件上传的限制为1MB。要更改此设置,您需要设置client_max_body_size变量。您可以在nginx.conf中的http块中执行此操作
http {
#...
client_max_body_size 100m;
client_body_timeout 120s; # Default is 60, May need to be increased for very large uploads
#...
}
如果您希望上传非常大的文件,其上传时间将超过60秒,您还需要添加具有较大值的client_body_timeout
变量
更新NGINX配置后,不要忘记重启NGINX。
你需要重新启动nginx和php来重新加载配置。这可以使用以下命令完成;
sudo service nginx restart
sudo service php7.0-fpm restart
注意:如果您不必托管多个 网站只是将其添加到服务器块
server {
client_max_body_size 8M;
}
答案 2 :(得分:0)
有几件事。
当您提到您的服务器使用nginx时,使用.htaccess文件是不必要的,因为这些文件适用于Apache服务器。
话虽这么说,我会尝试一些事情。
你知道你的php实例的ini文件是什么吗?
你提到的是php 7,但你也可以安装php 5。
如果你去你的控制台并输入" php --ini"什么是加载的配置文件?
一旦您知道,使用vi / vim或您选择的编辑器,您可以设置:
upload_max_filesize = 100M
post_max_size = 100M
现在,考虑到你必须重新启动你的服务,包括php和nginx:
for php 5:
service php5-fpm reload
for php 7:
service php7-fpm reload
表示nginx:
service nginx reload
尝试打印当前值:
$uploadMaxFilesize = ini_get('upload_max_filesize');
$postMaxSize = ini_get('post_max_size');
此外,由于这是针对WordPress的,您是否尝试在WordPress管理设置中进行设置?
管理员信息中心>设置>上传设置
答案 3 :(得分:0)
为了让它对我有用,我必须做出一些改变。
首先来自用户 NID here,将此添加到您的 /etc/nginx/nginx.conf
文件(在 http 块内):
http {
#...
client_max_body_size 100m;
client_body_timeout 120s; # Default is 60, May need to be increased for very large uploads
#...
}
然后我还必须关注类似于用户 Just Rudy here 的内容。
编辑您的 php.ini
文件 - 与许多指南相反,对我来说,它不在我的 wordpress 根文件夹中,而是位于 /etc/php/7.2/fpm/php.ini
。
upload_max_filesize
和 post_max_size
应该有一些预定义的值。将这些更改为您想要的。
重启nginx和php-fpm:
sudo systemctl reload nginx
sudo systemctl restart php7.2-fpm