我已经尝试了两天,想将通过php上传的文件的最大文件大小从默认的2M增加到10M。我更改了被phpinfo引用的php.ini文件,但无济于事。
我看到了一些文章说php.ini文件的第109行左右有语法错误,但我不知道这个语法错误是什么,也不知道如何纠正它。用户表示,由于upload_max_filesize在此错误之后,因此在配置文件中被忽略。请帮忙解决。
我已经尝试了两天,想将通过php上传的文件的最大文件大小从默认的2M增加到10M。我更改了被phpinfo引用的php.ini文件,但无济于事。
我看到了一些文章说php.ini文件的第109行左右有语法错误,但我不知道这个语法错误是什么,也不知道如何纠正它。用户表示,由于upload_max_filesize在此错误之后,因此在配置文件中被忽略。请帮忙解决。
这条消息 对我有帮助:
服务器上安装的最新php版本不允许更改全局设置(例如执行时间,最大上传文件大小,最大发布文件大小等)。
按照以下步骤解决问题:
phpinfo();
phpinfo()
输出中查找“Scan this dir for additional .ini files”文本/etc/php5/apache2/conf.d
/etc/php5/apache2/conf.d/user.ini
)文件 /etc/php5/apache2/conf.d/user.ini
post_max_size = 90M
upload_max_filesize = 50M
更新 2018.06
如果您正在使用 nginx + php-fpm,则您的路径类似于这样:(在路径中使用您的 PHP 版本)。使用以下命令创建文件:
nano /etc/php/7.0/fpm/conf.d/user.ini
在 conf.d
目录中存在许多其他的 .ini
文件。如果您希望您的配置文件是最后被包含的,请使用前缀。
例如:30-user.ini
。
创建文件后不要忘记重新启动 fpm
:
sudo service php7.0-fpm restart
sudo service php7.0-fpm restart
解决了问题。 - coder618ps -A | grep php
命令来查找php*-fpm
的名称,在我的情况下,该名称中没有数字。 - undefined/etc/php/7.*/fpm/php.ini
这样的位置-则根据需要进行修改,并使用service php7.1-fpm restart
代替sudo service apache2 restart
。请问您是否重启了apache2?
sudo service apache2 restart
只有当apache开启时,新的php.ini配置才会生效。
我遇到了完全相同的问题,并使用以下步骤解决了它:
在我的服务器上运行以下命令时
php --ini
我获得了我的php.ini文件的以下路径
Loaded Configuration File: /etc/php/7.0/cli/php.ini
<?php
phpinfo();
?>
然后我在浏览器中打开了该文件 http://example.com/info.php,发现实际加载的php.ini文件位于不同的目录中。
Loaded Configuration File /etc/php/7.0/apache2/php.ini
我在这个目录下修改php.ini文件后,所有更改都生效了。简而言之,请确保运行phpinfo();函数以确定php使用的实际php.ini文件。
您可能还需要增加文章的最大大小:
post_max_size=10M
尝试一下吧。
php --ini
,它可能会显示/etc/php/7.1/cli/php.ini
,但是还有另一个文件夹/etc/php/7.1/fpm/php.ini
用于php-fpm
,你需要在conf.d
文件夹下创建你的新ini文件,例如/etc/php/7.1/fpm/conf.d/30-user.ini
,如果你需要一个适用于cli命令行的ini文件,你需要将你的ini文件放在/etc/php/7.1/cli/conf.d/30-user.ini
下。service apache2 reload
仍需要以root身份运行。 运行sudo service apache2 reload
即可。这适用于Ubuntu 14.04。php -v
sudo php-fpm7.4 -t
(更改为您正在运行的版本)。sudo systemctl restart php7.4-fpm
(更改为您正在运行的版本)。阅读了伟大的@Jekis的回答后,我解决了Fedora发行版的相同问题(这是相同的东西,只是路径不同):
在评估phpinfo();
输出后,我发现其他.ini
文件存储在:/etc/php.d
目录中
在/etc/php.d
中,我创建了一个新文件 - 40-user.ini
。我添加了upload_max_filesize
和其他我想要更改的设置
然后我重新启动了apache(httpd)
然后更改被接受。