PHP配置文件解析-php.ini与php-cli.ini、php-fpm.conf

php.ini是PHP解析器的配置文件
php-cli.ini是PHP命令行解析器的配置文件
php-fpm.conf是PHP-FPM进程管理器的配置文件,对单一进程进行配置
  • cli命令行模式与fpm模式

cli是命令行模式,直接在命令行运行。
FPM模式,fpm结合Nginx/Apache,作为其扩展对php文件进行处理。

当通过命令行(cli)执行php脚本时,使用的php-cli.ini配置
当通过FPM运行,使用的php.ini内的配置
//获取php.ini地址获取
php --ini 

//php-cli.conf配置命令行查看
php -ini

  • 注意(内存修改不起作用的问题)

pid:12583 Worker[12583] process terminated with ERROR: E_ERROR "Allowed memory size of 134217728 bytes exhausted (tried to allocate 995328 bytes)

1、当服务在命令行执行启动时,修改内存限制,需要修改php-cli.ini内的memory_limit参数,修改php.ini是不生效的。

2、当服务通过FPM模式,结合apache/nginx运行时,修改php.ini内的memory_limit。

此时如果php-fpm.conf或其引入的扩展文件对内存进行了配置,即php_admin_value[memory_limit]在扩展内配置(一般默认处于注释状态或不配置,将使用php.ini内的配置),将使用php_admin_value[memory_limit]内配置的内存值(phpinfo()内也将展示优先级最高的配置)。

这里是有一个优先级关系的,php-fpm.conf内配置的参数会覆盖php.ini内的配置

php-fpm.conf > ini_set( ) > php.ini

php_admin_value[memory_limit]=256 > 
ini_set('memory_limit', '256M')  >
memory_limit = 256M

关于memory_limit辅助文档 

猜你喜欢

转载自blog.csdn.net/nw_ningwang/article/details/125431085