使用php-fpm,修改了php.ini配置,必须重启php-fpm。php-fpm应该是和web服务器分离的,可能不一定需要重启nginx等。
php-fpm的配置,可覆盖 php.ini 的配置。
当php.ini中的配置不生效,就应该想到还有php-fpm.conf。它可以配置php.ini,也可以有自己的特有的配置。例如,前面转载过的文章中,关于一个请求时间的配置:
max_execution_time 是php.ini中设置的,脚本最大执行时间
request_terminate_timeout 是php-fpm.conf中设置,最大执行时间。这个选项更重要!
name - 名称
php-fpm - PHP FastCGI Process Manager 'PHP-FPM'(php的fastcgi 进程管理器)
synopsis - 大纲,摘要
php-fpm [options]
description - 描述
PHP是一个广泛使用的通用脚本语言,尤其适合于Web开发,并可以嵌入到HTML中。这是php的一个变体,运行在后台作为一个守护进程,监听CGI请求。输出记录在 '/usr/local/var/log/php-fpm.log' 日志。
大多数的选项设置在配置文件中。配置文件是 '/usr/local/etc/php/7.1/php-fpm.conf'。默认情况下,php-fpm响应监听在localhost的http端口为9000的CGI请求。因此,php-fpm期望web服务器将'.php' 文件的请求转发到 9000 端口,你应该适当的配置你的web服务器配置。
options - 选项
-C// 不将工作目录切换到 '脚本目录' --php-ini | -c path | file // 在指定的 'path' 中查找php.ini | 直接使用指定的php.ini 'file' --no-php-ini | -n // 不使用 'php.ini' 文件 --define foo[=bar] | -d foo[=bar]// 定义INI配置项 -e // 为debugger/profiler生成额外的扩展信息 --help | -h // 命令帮助 --info | -i // PHP信息和配置 --modules | -m // 显示编译的模块 --version | -v // 显示版本 -p // 指定替代的路径前缀(默认是 '/usr/local/Cellar/php71/7.1.0-rc.3_8'),结合其他选项,相对的就是该路径 --pid | -g file// 指定 'PID' 文件位置 --fpm-config | -y file// 指定替代的FastCGI进程管理器配置文件(默认是 '/usr/local/etc/php/7.1/php-fpm.conf') --test | -t // 测试 FPM 配置文件并退出。如果调用2次 '-tt',在退出前打印配置 --daemonize | -D // 强制在后台运行,并忽略配置文件中守护进程的配置选项 --nodaemonize | -F // 强制在前台运行,并忽略配置文件中守护进程的配置选项 --force-stderr | -O // 在前台运行模式下,强制输出到标准错误输出(stderr),即使标准错误输出(stderr)不是一个 'TTY'(设备) --allow-to-run-as-root | -R // 允许进程池以root用户运行(默认非root运行)
files - 文件
php-fpm.conf // php-fpm 守护进程的配置文件
php.ini // 标准php配置文件
examples - 示例
对于任意使用 'init.d' 作为主进程管理的类unix系统,应该使用'init'脚本提供php-fpm守护进程的启动和停止。
sudo /etc/init.d/php-fpm start
对于任意使用 'systemd' 作为主进程管理的类unix系统,应该使用'unit'文件提供php-fpm守护进程的启动和停止。
sudo systemctl start php-fpm.service
如果你的安装没有适合的初始化脚本,启动php-fpm不需要任何参数。默认以守护进程启动(后台进程)。'/usr/local/var/run/php-fpm.pid' 文件决定php-fpm是否已经启动和运行。一旦启动,php-fpm会响应几个POSIX信号:
SIGINT,SIGTERM - 立即停止SIGQUIT - 友好的停止SIGUSER1 - 重新打开日志文件SIGUSER2 - 友好的重启所有的工作进程 + 友好的重启php-fpm配置/二进制文件
tips - 提示
PHP-FPM CFI守护进程和大多数流行的web服务器都工作的很好,包括:Apache2,lighttpd以及nginx。