最大文件大小没有从php.ini生效

时间:2017-07-26 17:37:19

标签: php wordpress nginx

我知道这是一个巨大的转发,但我无法解决这个问题。服务器是使用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

4 个答案:

答案 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_filesizepost_max_size 应该有一些预定义的值。将这些更改为您想要的。

重启nginx和php-fpm:

sudo systemctl reload nginx
sudo systemctl restart php7.2-fpm