设为首页 收藏本站
查看: 707|回复: 0

[经验分享] php官网文档

[复制链接]

尚未签到

发表于 2018-12-23 14:55:07 | 显示全部楼层 |阅读模式

PHP 官网http://php.net/manual/zh/install.fpm.configuration.php

配置
  FPM 配置文件为php-fpm.conf,其语法类似php.ini。
php-fpm.conf全局配置段

  •   pid    string
  •   PID文件的位置。默认为空。
  •   error_log    string
  •   错误日志的位置。默认:安装路径 #INSTALL_PREFIX#/log/php-fpm.log
  •   log_level    string
  •   错误级别。可用级别为:alert(必须立即处理),error(错误情况),warning(警告情况),notice(一般重要信息),debug(调试信息)。默认:notice。
  •   emergency_restart_threshold    int
  •   如果子进程在 emergency_restart_interval 设定的时间内收到该参数设定次数的     SIGSEGV 或者 SIGBUS退出信息号,则FPM会重新启动。0 表示“关闭该功能”。默认值:0(关闭)。
  •   emergency_restart_interval    mixed
  •   emergency_restart_interval     用于设定平滑重启的间隔时间。这么做有助于解决加速器中共享内存的使用问题。可用单位:s(秒),m(分),h(小时)或者     d(天)。默认单位:s(秒)。默认值:0(关闭)。
  •   process_control_timeout    mixed
  •   设置子进程接受主进程复用信号的超时时间。可用单位:s(秒),m(分),h(小时)或者     d(天)。默认单位:s(秒)。默认值:0(关闭)。
  •   daemonize    boolean
  •   设置 FPM 在后台运行。设置“no”将 FPM 保持在前台运行用于调试。默认值:yes。
运行配置区段
  在FPM中,可以使用不同的设置来运行多个进程池。  这些设置可以针对每个进程池单独设置。

  •   listen    string
  •   设置接受 FastCGI 请求的地址。可用格式为:'ip:port','port','/path/to/unix/socket'。每个进程池都需要设置。
  •   listen.backlog    int
  •   设置 listen(2) 的半连接队列长度。“-1”表示无限制。默认值:-1。
  •   listen.allowed_clients    string
  •   设置允许连接到 FastCGI 的服务器 IPV4 地址。等同于 PHP FastCGI (5.2.2+) 中的 FCGI_WEB_SERVER_ADDRS     环境变量。仅对 TCP 监听起作用。每个地址是用逗号分隔,如果没有设置或者为空,则允许任何服务器请求连接。默认值:any。
  •   listen.owner    string
  •   如果使用,表示设置 Unix 套接字的权限。在Linux中,读写权限必须设置,以便用于     WEB 服务器连接。在很多 BSD 派生的系统中可以忽略权限允许自由连接。默认值:运行所使用的用户和组,权限为 0666。
  •   listen.group    string
  •   参见 listen.owner
  •   listen.mode    string
  •   参见 listen.owner
  •   user    string
  •   FPM 进程运行的Unix用户。必须设置。
  •   group    string
  •   FPM 进程运行的 Unix 用户组。如果没有设置,则默认用户的组被使用。
  •   pm    string
  •   设置进程管理器如何管理子进程。可用值:staticondemanddynamic。必须设置。
      static - 子进程的数量是固定的(pm.max_children)。
      ondemand - 进程在有需求时才产生(当请求时,与     dynamic 相反,pm.start_servers 在服务启动时即启动。
      dynamic -      子进程的数量在下面配置的基础上动态设置:pm.max_childrenpm.start_serverspm.min_spare_serverspm.max_spare_servers
  •   pm.max_children    int
  •   pm 设置为 static     时表示创建的子进程的数量,pm 设置为      dynamic 时表示最大可创建的子进程的数量。必须设置。
      该选项设置可以同时提供服务的请求数限制。类似 Apache 的 mpm_prefork 中 MaxClients     的设置和 普通PHP FastCGI中的PHP_FCGI_CHILDREN环境变量。
  •   pm.start_servers    in
  •   设置启动时创建的子进程数目。仅在 pm 设置为      dynamic 时使用。默认值:min_spare_servers + (max_spare_servers -     min_spare_servers) / 2。
  •   pm.min_spare_servers    int
  •   设置空闲服务进程的最低数目。仅在 pm 设置为 dynamic 时使用。必须设置。
  •   pm.max_spare_servers    int
  •   设置空闲服务进程的最大数目。仅在 pm 设置为 dynamic 时使用。必须设置。
  •   pm.max_requests    int
  •   设置每个子进程重生之前服务的请求数。对于可能存在内存泄漏的第三方模块来说是非常有用的。如果设置为     '0' 则一直接受请求,等同于PHP_FCGI_MAX_REQUESTS环境变量。默认值:0。
  •   pm.status_path    string
  •   FPM 状态页面的网址。如果没有设置,则无法访问状态页面,默认值:无。
  •   ping.path    string
  •   FPM 监控页面的 ping 网址。如果没有设置,则无法访问 ping     页面。该页面用于外部检测 FPM 是否存活并且可以响应请求。请注意必须以斜线开头(/)。
  •   ping.response    string
  •   用于定义 ping 请求的返回响应。返回为 HTTP 200 的 text/plain 格式文本。默认值:pong。
  •   request_terminate_timeout    mixed
  •   设置单个请求的超时中止时间。该选项可能会对 php.ini 设置中的 'max_execution_time'     因为某些特殊原因没有中止运行的脚本有用。设置为 '0' 表示 'Off'。可用单位:s(秒),m(分),h(小时)或者     d(天)。默认单位:s(秒)。默认值:0(关闭)。
  •   request_slowlog_timeout    mixed
  •   当一个请求该设置的超时时间后,就会将对应的 PHP 调用堆栈信息完整写入到慢日志中。设置为     '0' 表示 'Off'。可用单位:s(秒),m(分),h(小时)或者     d(天)。默认单位:s(秒)。默认值:0(关闭)。
  •   slowlog    string
  •   慢请求的记录日志。默认值:#INSTALL_PREFIX#/log/php-fpm.log.slow
  •   rlimit_files    int
  •   设置文件打开描述符的 rlimit 限制。默认值:系统定义值。
  •   rlimit_core    int
  •   设置核心 rlimit 最大限制值。可用值:'unlimited',0 或者正整数。默认值:系统定义值。
  •   chroot    string
  •   启动时的 Chroot 目录。所定义的目录需要是绝对路径。如果没有设置,则 chroot 不被使用。
  •   chdir    string
  •   设置启动目录,启动时会自动 Chdir 到该目录。所定义的目录需要是绝对路径。默认值:当前目录,或者根目录(chroot时)。
  •   catch_workers_output    boolean
  •   重定向运行过程中的 stdout 和 stderr 到主要的错误日志文件中。如果没有设置,stdout     和 stderr 将会根据 FastCGI 的规则被重定向到 /dev/null。默认值:无。
  还可以在为一个运行池传递附加的环境变量,或者更新 PHP  的配置值。可以在php-fpm.conf中如下面的配置参数来做到:
  Example #1 给运行池传递环境变量和设置 PHP 的配置值
env[HOSTNAME] = $HOSTNAME  
       env[PATH] = /usr/local/bin:/usr/bin:/bin
  
       env[TMP] = /tmp
  
       env[TMPDIR] = /tmp
  
       env[TEMP] = /tmp
  

  
       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
  PHP配置值通过 php_value 或者     php_flag 设置,并且会覆盖以前的值。请注意     disable_functions 或者     disable_classes 在php.ini之中定义的值不会被覆盖掉,但是会将新的设置附加在原有值的后面。
  使用 php_admin_value 或者 php_admin_flag    定义的值,不能被 PHP 代码中的 ini_set() 覆盖。
  自 5.3.3 起,也可以通过 web 服务器设置 PHP 的设定。
  Example #2 在 nginx.conf 中设定 PHP
set $php_value "pcre.backtrack_limit=424242";  
set $php_value "$php_value \n pcre.recursion_limit=99999";
  
fastcgi_param  PHP_VALUE $php_value;
  

  
fastcgi_param  PHP_ADMIN_VALUE "open_basedir=/var/www/htdocs";
  Caution
  由于这些设定是以 FastCGI 标头传递给 php-fpm,php-fpm      不应绑定到外部网可以访问的地址上,否则任何人都能修改 PHP      的配置选项了。参见       listen.allowed_clients。
DSC0000.png add a note

User Contributed Notes 4 notes
  up
  down
  3
  sroussey at gmail dot com
  1 year ago
  Starting in 5.3.9 the security.limit_extensions configuration item has
been added and it defaults to .php. If you need to execute other
extensions, you have to change this setting.
  up
  down
  3
  Frank DENIS
  3 years ago
  The default value for listen.backlog isn't exactly "unlimited".
  It's128 on some operating systems, and -1 (which doesn't mean "unlimited"
as well, but is an alias to a hard limit) on other systems.
  Check for a sysctl value like kern.somaxconn (OpenBSD) or net.core.somaxconn (Linux).
  Crankit up if you need more PHP workers than the default value. Then adjust
listen.backlog in your php-fpm configuration file to the same value.
  -Frank.
  up
  down
  2
  Yousef Ismaeil Cliprz
  8 months ago
  Check if fastCGI enabled
  



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-654915-1-1.html 上篇帖子: PHP工作原理 下篇帖子: php数独求解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表