php 7 php.ini upload_max_filesize 不工作
php 7 php.ini upload_max_filesize not working
我在网上看了很多解决方案,但还是不能改变upload_max_filesize
值(upload_max_filesize
总是=2M)
这是我在 phpinfo()
中加载的 php.ini
:
Configuration File (php.ini) Path /etc/php/7.0/apache2
Loaded Configuration File /etc/php/7.0/apache2/php.ini
Scan this dir for additional .ini files /etc/php/7.0/apache2/conf.d
upload_max_filesize 2M 2M
post_max_size 8M 8M
这是我在 /etc/php/7.0/apache2/php.ini
中编辑的 php.ini
; http://php.net/post-max-size
post_max_size = 86M
; http://php.net/upload-max-filesize
upload_max_filesize = 40M
我使用 ubuntu 14.04,apache2,php7.0
(每次更改 php.ini 后,我都多次重置 apache2)
我想通了!
在我加载的 php.ini
配置中,我的 error_reporting
值是 E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
-> 这是错误的!,所以我将其更改为
error_reporting: E_ALL
然后重启apache2服务器,
现在一切正常!
所以请注意:如果 php.ini
有任何错误,它将使用默认值(这意味着 upload_max_filesize
始终 2M
)
我有其他修复方法。
os: ubuntu 16.04
php版本:7.0
我创建了一个 phpinfo.php 文件,其中包含:
<?php phpinfo() ?>
将 phpinfo.php 文件放在您网站的根目录中 www.mywebsite.com/phpinfo.php
导航到它并查找行:
加载的配置文件:/etc/php/7.0/cgi/php.ini
现在你知道加载了什么 php.ini 文件了。
ssh 进入服务器并使用您喜欢的编辑工具(我的是 nano)来调整 php.ini
更改值以满足您的喜好。
post_max_size = 128M
upload_max_filesize = 64M
保存并关闭ose 文件。
重启apache
sudo service apache2 restart
__
检查 phpinfo.ini 新值是否与设置一致。
如果他们这样做了,您就可以出发了。
我修复了 PHP-FPM 7.1
在
中编辑您的 php.ini
/etc/php/7.1/fpm/php.ini
根据需要更改任何选项,例如 post_max_size、upload_max_filesize、max_execution_time 等等...
保存并关闭文件。
运行
sudo 服务php7.1-fpm 重启
会成功的!
大多数人都忘记通过终端重新启动他们的 php 这就是它无法正常工作的原因,如果您认为您已正确完成所有操作,请务必重新启动 php 和服务器.
是啊,其实我忘记正确重启了
sudo service apache2 restart 不够
首先将配置添加到/etc/php/7.1/fpm/php.ini和/etc/php/7.1/ cli/php.ini
#/php/ - 然后你的 php 版本在这里而不是“7.1”
实际上这些配置文件之一是活动文件(如果你想在 indextest.php 文件中查看使用 <?php phpinfo() ?>
命令的内容并在浏览器上检查)
然后根据需要更改每个文件的这些参数:
post_max_size = 512M
upload_max_filesize = 512M
然后使用以下命令重新启动 php 服务器:
sudo service php7.0-fpm restart #php<then your php version here> instead "7.0"
或
sudo /etc/init.d/php7.1-fpm restart #php<then your php version here> instead "7.1"
现在您应该可以看到上传大小的变化了。干杯!
如 here 所示,您可以进一步了解 php 服务器控件:
$ sudo service php7.0-fpmstart # <- restart it
$ sudo service php7.0-fpm stop # <- restart it
$ sudo service php7.0-fpm restart # <- restart it
$ sudo service php7.0-fpm reload # <- reload it
我还发现重新启动 httpd 服务并没有在加载的配置文件中获取更改(/etc/php.ini
在 Fedora 29 上)。值得列出所有 systemd 单元并对字符串 "php":
进行 grep
# systemctl list-unit-files | grep php
php-fpm.service
重新启动 php-fpm 对我有用:
# systemctl restart php-fpm
我正在使用 Nginx,我的解决方案是重启 php-fpm。
重启 Nginx 没有任何反应。
sudo service php7.2-fpm restart
在花了几个小时阅读论坛后,我解决了这个问题:
cd /etc/php
find . -name "*.ini" | xargs grep -il upload_max_filesize
./7.1/apache2/php.ini
./7.1/mods-available/better.ini
./7.1/cgi/php.ini
./7.1/cli/php.ini
./7.1/phpdbg/php.ini
./7.1/fpm/conf.d/20-better.ini
./7.1/fpm/php.ini
./7.1/embed/php.ini
在 ./7.1/fpm/conf.d/20-better.ini 中更改 upload_max_filesize 然后
/etc/init.d/php7.1-fpm restart
现在 phpinfo 报告:upload_max_filesize 10G 10G
希望对您有所帮助。
我也遇到了这个问题!
如果您正在使用 php-fpm 服务需要找到 php-fpm.conf 并添加行
php_admin_value[upload_max_filesize] = 100M
用于更改其他类型的值
#just for example
php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
对于php7.2-fpm
Ubuntu php-fpm
位于 /etc/php/7.2/fpm
所以
cd /etc/php/7.2/fpm
sudo nano php.ini
- 搜索
post_max_size = 512M
并添加您真正需要的收藏尺寸
- 搜索
upload_max_filesize = 512M
并添加您 真正需要的收藏尺寸
- 保存文件
- 最后不要忘记重启PHP7.2-FPM 重启
sudo service php7.2-fpm restart
就这些!
对于那些拥有其他答案中提到的所有明显设置并且 PHP 文件上传仍然不起作用的人。
检查 php.ini 的 open_basedir
值。如果设置了一个值(出于安全原因应该设置),请确保其中包含 /tmp
。或者在 upload_tmp_dir
中选择自定义值并相应地设置 open_basedir
。
然后重新加载FPM服务。
我按照 here
的步骤在 MacOS Big Sur 上安装了多个版本的 PHP
我使用了命令:
sudo /usr/local/bin/httpd -k restart
加载对 php.ini 文件所做的更改。
在将 SQL 文件导入 Mysql 数据库时对我没有任何作用,我使用 Mysql 命令行
sudo mysql -u {username} -p
我的情况是 sudo mysql -u root -p
然后输入您的password
>use mysql;
mysql> use db_name;
mysql> source /dir_to/file_name.sql;
在项目的根目录中创建两个不同的文件(如果您是 Wordpress 用户,则为根 public_html 文件夹)。一个是 php.ini & 第二个是 .user.ini
然后只需在两个文件中添加这两行代码即可。
upload_max_filesize = 20M
post_max_size = 20M
别忘了重启服务器。
并确保 user.ini 文件必须以点开头 (.)
systemctl restart apache2
就我而言,我编辑错了。原来我应该修改这个 /etc/php/7.2/apache2/php.ini
这样做之后,它成功了!
我在网上看了很多解决方案,但还是不能改变upload_max_filesize
值(upload_max_filesize
总是=2M)
这是我在 phpinfo()
中加载的 php.ini
:
Configuration File (php.ini) Path /etc/php/7.0/apache2
Loaded Configuration File /etc/php/7.0/apache2/php.ini
Scan this dir for additional .ini files /etc/php/7.0/apache2/conf.d
upload_max_filesize 2M 2M
post_max_size 8M 8M
这是我在 /etc/php/7.0/apache2/php.ini
php.ini
; http://php.net/post-max-size
post_max_size = 86M
; http://php.net/upload-max-filesize
upload_max_filesize = 40M
我使用 ubuntu 14.04,apache2,php7.0 (每次更改 php.ini 后,我都多次重置 apache2)
我想通了!
在我加载的 php.ini
配置中,我的 error_reporting
值是 E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
-> 这是错误的!,所以我将其更改为
error_reporting: E_ALL
然后重启apache2服务器,
现在一切正常!
所以请注意:如果 php.ini
有任何错误,它将使用默认值(这意味着 upload_max_filesize
始终 2M
)
我有其他修复方法。 os: ubuntu 16.04 php版本:7.0
我创建了一个 phpinfo.php 文件,其中包含:
<?php phpinfo() ?>
将 phpinfo.php 文件放在您网站的根目录中 www.mywebsite.com/phpinfo.php
导航到它并查找行:
加载的配置文件:/etc/php/7.0/cgi/php.ini
现在你知道加载了什么 php.ini 文件了。
ssh 进入服务器并使用您喜欢的编辑工具(我的是 nano)来调整 php.ini
更改值以满足您的喜好。
post_max_size = 128M
upload_max_filesize = 64M
保存并关闭ose 文件。
重启apache
sudo service apache2 restart
__
检查 phpinfo.ini 新值是否与设置一致。
如果他们这样做了,您就可以出发了。
我修复了 PHP-FPM 7.1
在
中编辑您的 php.ini/etc/php/7.1/fpm/php.ini
根据需要更改任何选项,例如 post_max_size、upload_max_filesize、max_execution_time 等等...
保存并关闭文件。
运行
sudo 服务php7.1-fpm 重启
会成功的!
大多数人都忘记通过终端重新启动他们的 php 这就是它无法正常工作的原因,如果您认为您已正确完成所有操作,请务必重新启动 php 和服务器.
是啊,其实我忘记正确重启了
sudo service apache2 restart 不够
首先将配置添加到/etc/php/7.1/fpm/php.ini和/etc/php/7.1/ cli/php.ini
#/php/ - 然后你的 php 版本在这里而不是“7.1”
实际上这些配置文件之一是活动文件(如果你想在 indextest.php 文件中查看使用 <?php phpinfo() ?>
命令的内容并在浏览器上检查)
然后根据需要更改每个文件的这些参数:
post_max_size = 512M
upload_max_filesize = 512M
然后使用以下命令重新启动 php 服务器:
sudo service php7.0-fpm restart #php<then your php version here> instead "7.0"
或
sudo /etc/init.d/php7.1-fpm restart #php<then your php version here> instead "7.1"
现在您应该可以看到上传大小的变化了。干杯!
如 here 所示,您可以进一步了解 php 服务器控件:
$ sudo service php7.0-fpmstart # <- restart it
$ sudo service php7.0-fpm stop # <- restart it
$ sudo service php7.0-fpm restart # <- restart it
$ sudo service php7.0-fpm reload # <- reload it
我还发现重新启动 httpd 服务并没有在加载的配置文件中获取更改(/etc/php.ini
在 Fedora 29 上)。值得列出所有 systemd 单元并对字符串 "php":
# systemctl list-unit-files | grep php
php-fpm.service
重新启动 php-fpm 对我有用:
# systemctl restart php-fpm
我正在使用 Nginx,我的解决方案是重启 php-fpm。
重启 Nginx 没有任何反应。
sudo service php7.2-fpm restart
在花了几个小时阅读论坛后,我解决了这个问题:
cd /etc/php
find . -name "*.ini" | xargs grep -il upload_max_filesize
./7.1/apache2/php.ini
./7.1/mods-available/better.ini
./7.1/cgi/php.ini
./7.1/cli/php.ini
./7.1/phpdbg/php.ini
./7.1/fpm/conf.d/20-better.ini
./7.1/fpm/php.ini
./7.1/embed/php.ini
在 ./7.1/fpm/conf.d/20-better.ini 中更改 upload_max_filesize 然后
/etc/init.d/php7.1-fpm restart
现在 phpinfo 报告:upload_max_filesize 10G 10G
希望对您有所帮助。
我也遇到了这个问题!
如果您正在使用 php-fpm 服务需要找到 php-fpm.conf 并添加行
php_admin_value[upload_max_filesize] = 100M
用于更改其他类型的值
#just for example
php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
对于php7.2-fpm
Ubuntu php-fpm
位于 /etc/php/7.2/fpm
所以
cd /etc/php/7.2/fpm
sudo nano php.ini
- 搜索
post_max_size = 512M
并添加您真正需要的收藏尺寸 - 搜索
upload_max_filesize = 512M
并添加您 真正需要的收藏尺寸 - 保存文件
- 最后不要忘记重启PHP7.2-FPM 重启
sudo service php7.2-fpm restart
就这些!
对于那些拥有其他答案中提到的所有明显设置并且 PHP 文件上传仍然不起作用的人。
检查 php.ini 的 open_basedir
值。如果设置了一个值(出于安全原因应该设置),请确保其中包含 /tmp
。或者在 upload_tmp_dir
中选择自定义值并相应地设置 open_basedir
。
然后重新加载FPM服务。
我按照 here
的步骤在 MacOS Big Sur 上安装了多个版本的 PHP我使用了命令:
sudo /usr/local/bin/httpd -k restart
加载对 php.ini 文件所做的更改。
在将 SQL 文件导入 Mysql 数据库时对我没有任何作用,我使用 Mysql 命令行
sudo mysql -u {username} -p
我的情况是 sudo mysql -u root -p
然后输入您的password
>use mysql;
mysql> use db_name;
mysql> source /dir_to/file_name.sql;
在项目的根目录中创建两个不同的文件(如果您是 Wordpress 用户,则为根 public_html 文件夹)。一个是 php.ini & 第二个是 .user.ini 然后只需在两个文件中添加这两行代码即可。
upload_max_filesize = 20M
post_max_size = 20M
别忘了重启服务器。 并确保 user.ini 文件必须以点开头 (.)
systemctl restart apache2
就我而言,我编辑错了。原来我应该修改这个 /etc/php/7.2/apache2/php.ini
这样做之后,它成功了!