PHP used with nginx has three configuration files: php.ini, php-fpm.conf, www.conf.
php.ini is the core configuration of PHP runtime. The PHP process in CLI mode and php-fpm mode all read the configuration items in php.ini. (Recommended learning: PHP video tutorial)
php-fpm.conf is the configuration file of the php process under php-fpm management. The php process running in this mode, in addition to reading the configuration items in php.ini,
also reads the configuration items in php-fpm.conf.
www.conf is a supplement to php-fpm.conf.
Important configuration in php.ini
######避免PHP信息暴露在http头中 expose_php = Off ######避免暴露php错误信息 display_errors = Off ######在关闭display_errors后开启PHP错误日志(路径在php-fpm.conf中配置) log_errors = On ######设置PHP的扩展库路径 extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20141001/" ######设置PHP的opcache和mysql动态库 zend_extension=opcache.so extension=mysqli.so extension=pdo_mysql.so ######设置PHP的时区 date.timezone = PRC ######开启opcache [opcache] ; Determines if Zend OPCache is enabled opcache.enable=1 ######设置PHP脚本允许访问的目录(需要根据实际情况配置) ;open_basedir = /usr/share/nginx/html;
Important configuration in php-fpm.conf
;php运行日志 error_log=log/php-fpm.log ;FPM使用的事件机制 events.mechanism = epoll ;php-fpm.conf的补充文件www.conf的路径include=/usr/cg/lnmp/php-7.0.13/etc/php-fpm.d/*.conf
Important configuration of www.conf
;php-fpm运行的linux用户组和用户 user = www group = www ;接收FastCGI请求的地址 listen = 127.0.0.1:9000; Choose how the process manager will control the number of child processes. ; Possible Values: ; static - a fixed number (pm.max_children) of child processes; ; dynamic - the number of child processes are set dynamically based on the ; following directives. With this process management, there will be ; always at least 1 children. ; pm.max_children - the maximum number of children that can ; be alive at the same time. ; pm.start_servers - the number of children created on startup. ; pm.min_spare_servers - the minimum number of children in 'idle'; state (waiting to process). If the number ; of 'idle' processes is less than this ; number then some children will be created. ; pm.max_spare_servers - the maximum number of children in 'idle'; state (waiting to process). If the number ; of 'idle' processes is greater than this ; number then some children will be killed. ; ondemand - no children are created at startup. Children will be forked when ; new requests will connect. The following parameter are used: ; pm.max_children - the maximum number of children that ; can be alive at the same time. ; pm.process_idle_timeout - The number of seconds after which ; an idle process will be killed. ; Note: This value is mandatory. pm = dynamic ; The number of child processes to be created when pm is set to 'static' and the ; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'. ; This value sets the limit on the number of simultaneous requests that will be ; served. Equivalent to the ApacheMaxClients directive with mpm_prefork. ; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP ; CGI. The below defaults are based on a server without much resources. Don't ; forget to tweak pm.* to fit your needs. ; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand' ; Note: This value is mandatory. pm.max_children = 5 ; The number of child processes created on startup. ; Note: Used only when pm is set to 'dynamic' ; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2 pm.start_servers = 2 ; The desired minimum number of idle server processes. ; Note: Used only when pm is set to 'dynamic' ; Note: Mandatory when pm is set to 'dynamic' pm.min_spare_servers = 1 ; The desired maximum number of idle server processes. ; Note: Used only when pm is set to 'dynamic' ; Note: Mandatory when pm is set to 'dynamic' pm.max_spare_servers = 3 ; The number of seconds after which an idle process will be killed. ; Note: Used only when pm is set to 'ondemand' ; Default Value: 10s ;pm.process_idle_timeout = 10s; ;php进程在回收前应该处理的请求 ;防止第三方库的内存泄漏 pm.max_requests = 500 ;耗时长的php处理日志 slowlog = log/$pool.log.slow ;php慢日志的时间标准,最小单位是秒,0是未开启慢日志 request_slowlog_timeout = 0 ; 可在php文件中通过getenv('TEMP')获取环境变量的值 ; Default Value: clean env ;env[HOSTNAME] = $HOSTNAME ;env[PATH] = /usr/local/bin:/usr/bin:/bin ;env[TMP] = /tmp ;env[TMPDIR] = /tmp env[TEMP] = /tmp ; 覆盖php.ini中的对应配置 ;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com ;php_flag[display_errors] = off ;php_admin_value[error_log] = /var/log/fpm-php.www.log ;php_admin_flag[log_errors] = on php_admin_value[memory_limit] = 32M
The above is the detailed content of What are the php configuration files?. For more information, please follow other related articles on the PHP Chinese website!