了解 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。内容 <?php phpinfo() ?>。浏览器运行。
会看到如下信息:
主配置文件是: /usr/local/etc/php/7.1/php.ini
额外的配置文件: /usr/local/etc/php/7.1/conf.d

img_75354350a87389833c1f354270073612.png
image.png

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

  ######设置错误日志的路径
  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目录下)
img_9f117ea0b2c0927b84990ad00c9ffede.png
image.png

可修改范围

img_849206cbf6965000826db3b4ac40c6a7.png
image.png

核心配置选项说明

针对项目使用配置项

在项目入口目录新建 .user.ini

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

img_4dcba33c644d193a899b822075a02611.png
image.png

参考

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

问题

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

  1. /usr/local/etc/php/7.1/php-fpm.d/www.conf
  2. 项目入口目录下新建了 .user.ini
  3. /usr/local/etc/php/7.1/conf.d/php-memory-limits.ini
  4. /usr/local/etc/php/7.1/php.ini
  5. /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'));

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/681843

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。