apache 更改AWS EC2上的值时,PHP.ini未更新

l5tcr1uw  于 2022-11-16  发布在  Apache
关注(0)|答案(1)|浏览(170)

我已经有一段时间不能上传超过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

7gcisfzg

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_value post_max_size 16384M
php_value upload_max_filesize 16384M

然后在命令行中重新启动php-fpm(在我的例子中,它被称为php7.4-fpm)和apache2服务(我使用的是EC2示例连接)

sudo systemctl restart php7.4-fpm
sudo systemctl restart apache2

现在,您将在phpinfo()中看到,它实际上更改了我们在apache配置中更改的变量的本地值。

主值仍然是默认值,但站点接受新的本地值作为相关值。

相关问题