我已经有一段时间不能上传超过8 MB的文件了,我已经把范围缩小到实际的php.ini文件,它没有更新。
到目前为止,我已经找到了3个不同的php.ini文件,我都把它们的post_max_size
修改到超过了默认的8 M。我也试着修改了其他的值,没有任何更新。它只是卡在了8 M
这三个不同的文件位于/etc/php/7.4/apache2/php.ini
/etc/php/7.4/cli/php.ini
/etc/php/7.4/fpm/php.ini
当我添加一个test.php
到我的网站,并做phpinfo()
。它告诉我,加载的php.ini
文件位于apache 2文件夹。
但是当我在EC2示例中执行php --ini
时,它显示加载的php文件在cli文件夹中。就像我说的,我已经编辑了所有的文件并仔细检查了,所有3个php.ini
都有修改。
使用php -info
通过命令行检查实际的php.ini
我发现它实际上已经接受了更改。我猜这是CLI php.ini,所以它已经更新了。但不是apache 2或fpm。
我已经尝试重新启动apache 2服务。并重新启动fpm服务根据:changing php.ini has no effect on my EC2 instance's PHP config
但是在我的系统中,它被称为php7.4-fpm
,而不是php-fpm
。
所以对我来说:sudo systemctl restart php7.4-fpm.service
什么都不管用。
我可以确认我要重新启动的服务是实际的服务(或者至少是apache 2)我正在我的网站上实时查看。如果我关闭apache 2服务,我的网站将停止工作。所以至少我对这一点很有信心。我试过通过命令行编辑文件并通过ftp下载来查看我编辑过的文件。我的变化一直很明显。但实际上并不明显。
我正在运行的EC2示例是一个t2.xlarge
,运行:Ubuntu 20.04嵌入式LinuxApacheMySQL/数据库PHP
1条答案
按热度按时间7gcisfzg1#
我找到了一个解决问题的方法。但是有点不合常规,在网上阅读了很多书,找到了上面提到的各种解决方案和修复方法。我终于找到了7年前的东西,今天仍然有效!
https://serverfault.com/questions/683026/post-max-size-will-not-change-stuck-at-128m-other-settings-work
这里OP通过编辑虚拟主机配置修复了这个问题。我也做了同样的事情,结果发现这样做实际上会改变网站上显示为
phpinfo()
的php.ini。为什么会这样,我不知道,但这是改变特定变量的唯一方法,比如:post_max_size
upload_max_filesize
memory_limit
因此,就像链接的OP一样,您可以在apache文件夹中的任何位置找到
sites-available/000-default.conf
,通常为etc/apache2/sites-available/000-default.conf
在结束标记
</VirtualHost>
之前添加以下内容:然后在命令行中重新启动
php-fpm
(在我的例子中,它被称为php7.4-fpm)和apache2
服务(我使用的是EC2示例连接)现在,您将在
phpinfo()
中看到,它实际上更改了我们在apache配置中更改的变量的本地值。主值仍然是默认值,但站点接受新的本地值作为相关值。