php-fpm优化

Posted 闫世成

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php-fpm优化相关的知识,希望对你有一定的参考价值。

php.ini优化

#关闭危险函数
disable_functions = system,passthru,exec,shell_exec,popen,phpin
fo
#关闭php名称和版本
expose_php = Off
#错误信息控制,测试时候开启
display_errors = Off


级别常量           错误值    错误报告描述
E_ERROR            1       致命的运行时错误(阻止脚本执行)
E_WARNING          2       运行时警告(非致命性错误)
E_PARSE            4       从语法中解析错误
E_NOTICE           8       运行时注意消息(可能是或可能不是一个问题)
E_CORE_ERROR       16      PHP启动时初始化过程中的致命错误
E_CORE_WARNING     32      PHP启动时初始化过程中的警告(非致命性错)
E_COMPILE_ERROR    64      编译时致命性错
E_COMPILE_WARNING  128     编译时警告(非致命性错)
E_USER_ERROR       256     用户自定义的致命错误
E_USER_WARNING     512     用户自定义的警告(非致命性错误)
E_USER_NOTICE      1024    用户自定义的提醒(经常是bug)
E_STRICT           2048    编码标准化警告(建议如何修改以向前兼容)
E_ALL              6143    所有的错误、警告和注意信息
error_reporting = E_ALL & ~E_DEPRECATED
打开错误日志
log_errors = On
error_log = /var/log/php-fpm/php-errors.log
log_errors_max_len = 1024 #日志长度
#是否忽略同一个文件、同一行发生的重复错误消息
ignore_repeated_errors = Off
#忽略不同文件中和同一文件中不同行发生的重复错误。
ignore_repeated_source = Off
ignore_repeated_source = Off
#此参数,只有关在调试模式下编译PHP时,决定是否显示或记录内存泄漏。在除了调试模式约束,一个错误级别中的至少一条E_WARNING必须生效。
report_memleaks = On

#关闭远程打开
allow_url_fopen = On
#本选项激活了 URL 形式的 fopen 封装协议使得可以访问 URL 对象例如文件。默认的封装协议提供用 ftp 和 http 协议来访问远程文件,一些扩展库例如 zlib 可能会注册更多的封装协议。
allow_url_include = On
#最大上传文件
upload_max_filesize 20M
多文件长传限制
max_file_uploads = 20
#socket流的超时时间
default_socket_timeout = 10
#每个脚本等待输入的最长时间(脚本解析)
max_input_time = 30
#放置nginx文件类型错误解析漏洞
cgi.fix_pathinfo=0
#单个脚本最长运行时间
max_execution_time = 30
#接收数据的时间限制
max_input_time = 30
#单个脚本最大运行时间
memory_limit = 128M
调整php sesson 信息存放类型和位置
session.save_handler = memcache
session.save_path = "tcp://192.168.94.37:11211"

二 php-fpm.conf

#记录日志的等级,默认notice,可取值alert, error, warning, notice, debug
log_level = error       
#将fpm转至后台运行,如果设置为“no”,那么fpm会运行在前台
daemonize = yes           
#打开文件描述符
rlimit_files = 32768
#使用epoll模型使用处理event事件的机制
events.mechanism = epoll
#引入主配置文件
include=/usr/local/php-7.2.9/etc/php-fpm.d/*.conf

三 www.conf

user = nginx
group = nginx
#监听地址
listen = 127.0.0.1:9000 

子进程数量
pm.max_children = 1024
启使进程
pm.start_servers = 16
最小空闲
pm.min_spare_servers = 5
最大空闲
pm.max_spare_servers = 20
进程超时
pm.process_idle_timeout = 15s;
子进程最多服务的数量
pm.max_requests = 2048
慢查询
slowlog = /var/log/php-fpm/$pool.log.slow
request_slowlog_timeout = 10

 

以上是关于php-fpm优化的主要内容,如果未能解决你的问题,请参考以下文章

php-fpm 优化

php-fpm优化方法详解

PHP 性能优化之 PHP-FPM

php-fpm参数优化

PHP配置优化:php-fpm配置解读

PHP-FPM实现性能优化