php.ini 文件在哪里?

创建于1个月前 / 更新于1个月前 / 阅读207次
#积跬步#PHP

最近遇到一个问题,需要更改 php 的配置文件,在命令行中使用 php --ini 查看配置文件的位置,更改之后,重启 php ,发现并没有作用。经过学习,发现事情没有想象中的那么简单。

运行模式

php 有很多种不同的运行模式,其中常见的有以下几种。

  • CLI 模式
  • CGI 模式
  • FastCGI 模式(FPM 模式)
  • Module 模式

关于运行模式的详细解释,可参考文章

PHP-FPM(PHP-FastCGI Process Manager)是 php 语言中实现了 FastCGI 协议的进程管理器,由 Andrei Nigmatulin 编写实现,已被 PHP 官方收录并集成到内核中。

找到配置文件

上面说到,php 可以在不同的模式下运行,所以不同的模式下,php 所加载的配置文件是不同的。例如开头说到的,在命令行中使用 php --ini 查看,可以看到一个配置文件,这个文件对应的是 cli 模式,即命令行模式。

如果运用程序是 web ,此时 php 处于 FastCGI(FPM) 运行模式下,所以我们需要确认对应的配置文件。其中一个方法是,在 index.phpecho phpinfo(),然后访问网站查看。

修改这里的配置文件才会对 web 运用起作用。当然,别忘了重新加载配置或者重启一下。

其他的配置文件

通常来说,配置文件默认都是在 php 的安装目录下。例如我的是在 /etc/php/7.3 目录下。

可以看到有不同的文件夹,对应了不同的运行模式,配置文件就装在里面。

独奏团
青风百里 编码和设计