在 8.x 支持PHP的5.6/7.0/7.1/7.2/7.3/7.4/8.0/8.1/8.2的所有版本。
在 9.x 最低支持PHP版本为7.4
REMI源为Fedora和Enterprise Linux(RHEL、CentOS、Oracle、Scientific Linux等)用户供应 最新版本的PHP、全功能和一些其他软件,已经被广泛运用。绝大多数的官方PECL扩展都可以一键平滑安装,同时支持多PHP版本共存。

rpm -E %{centos_ver} 获取失落败时手动更换成当前系统的紧张版本号如:8或9
dnf install -y https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-$(rpm -E %{centos_ver}).rpm
更新REMI源
dnf --enablerepo=remi-safe,remi-modular update -y
安装指定版本的PHP及其扩展依赖以PHP8.0为例,安装PHP8.0的FPM及其常用依赖扩展 (把稳不要直接安装php8.0包,默认会以apache扩展模式安装,直接安装FPM即可)
dnf --setopt=install_weak_deps=False install -y php80-php-fpm php80-php-cli php80-php-mbstring php80-php-xml php80-php-bcmath php80-php-gd php80-php-mysqlnd php80-php-posix php80-php-sodium php80-php-opcache php80-php-pecl-redis
运行FPMsystemctl enable --now php80-php-fpm
后续优化安装后的配置文件在 /etc/opt/remi/php{ver} 。以8.0举例配置文件路径为/etc/opt/remi/php80。下方所有文件都以此为根路径。
以此类推可以同时运行多个PHP版本。
php-fpm.conferror_log : 缺点日志存放路径
process_control_timeout: reload等待韶光建议设置为20s(实行systemctl reload php80-php-fpm 后20s内所有进程平滑退出,超过20s的直接KILL)
php-fpm.conf.d/www.confuser: 以指定用户身份实行进程(推举和web目录数组同等,默认是apache)
group: 同user
listen: 默认是/var/opt/remi/php版本/run/php-fpm/www.sock 建议改为127.0.0.1:9000
pm: php进程运行模式 dynamic动态(根据要求动态调度) static静态(固天命量个fpm进程)
pm.max_children = 最大fpm进程数量 (pm=dynamic和static时生效,当pm=static时,仅调度该参数即可)
pm.start_servers = FPM启动时急速启动多少个FPM进程
pm.min_spare_servers = 最小空闲FPM进程数量
pm.max_spare_servers = 最大空闲FPM进程数量
start_servers/min_spare_servers/max_spare_servers 在pm=static时不生效
当机器配置较高时,建议利用static配置:如8G内存建议设置为256
request_terminate_timeout: 每个FPM子进程进程处理多少个要求后就自动重启,防止内存透露,按照访问量打算如果是10w次要求,那建议设置为25000 (除4)
php.d/10-opcache.iniopcache.enable_cli: 改为0,CLI模式下运行的PHP常日不须要OPCache助力,开启后反而可能会由于缓存导致其他问题。
opcache.validate_timestamps: 设置为1
opcache.revalidate_freq: 每多少秒检讨一次文件是否更新并刷新opcache缓存。按照代码更新时长而定,代码文件更新后,不刷新缓存新的代码不生效。
新增JIT干系配置,在PHP8.0后OPCache加入了JIT特性,极大助力PHP的运行速率,PHP8.0及以上版本建议开启。
在10-opcache.ini新增配置:
opcache.jit_buffer_size=256M
opcache.jit=1255
修正任意配置文件后都须要实行 systemctl reload php{ver}-php-fpm 重新读取php配置(如systemctl reload php80-php-fpm)