17370845950

了解 php.ini

php.ini 有点复杂 首先php运行有命令行模式(比如 composer安装模块依赖)和 web模式(就是打开页面时正常模式) 两种模式加载的php.ini可能不一样。

Windows

在Windows,如果你是用的wamp。命令行模式用到的php.ini在apache2目录下,正常模式,如果你使用的php版本是7.2。则用到的php.ini在php7.2目录下。

MacOS

如果是用brew安装的PHP。跑的是fpm。 新建个test.php。内容

。浏览器运行。 会看到如下信息: 主配置文件是:
/usr/local/etc/php/7.1/php.ini
额外的配置文件:
/usr/local/etc/php/7.1/conf.d

image.png

你还可以在

/usr/local/etc/php/7.1/php-fpm.d/www.conf
此文件下面定义配置项。这个文件被 [php-fpm.conf] 包含

php-fpm.conf 是php-fpm进程服务的配置文件代码语言:javascript代码运行次数:0运行复制
  ######设置错误日志的路径  error_log = /var/log/php-fpm/error.log  ######引入www.conf文件中的配置  include=/usr/local/php7.1/etc/php-fpm.d/*.conf
www.conf
这是php-fpm进程服务的扩展配置文件 (php-fpm.d目录下)

image.png

可修改范围

image.png

核心配置选项说明

针对项目使用配置项

在项目入口目录新建

.user.ini

查看命令行模式下加载哪些ini文件

image.png

参考

http://php.net/configuration.file https://typecodes.com/web/php7configure.html

问题

mac下如何重启php-fpm?,我在

/usr/local/etc/php/7.1/php-fpm.d/www.conf 项目入口目录下新建了 .user.ini/usr/local/etc/php/7.1/conf.d/php-memory-limits.ini/usr/local/etc/php/7.1/php.ini/usr/local/etc/php/7.1/conf.d/user.ini

上述5个配置文件都添加了 memory_limit 配置项,值分别是111M 到 555M

生效的是www.conf,然后去掉 www.conf 中的
memory_limit = 111M
,重启
brew services restart php71
值依然是111,非常纳闷。要么不是这么重启,要么还有缓存?重启电脑后显示
memory_limit = 555M
, 因为加载顺序。 user.ini 在 php-memory-limits.ini 后面把前面的覆盖了。监测配置项是否被加载

var_dump(ini_get('curl.cainfo'));