CentOS7下编译安装PHP8.0.7( 二 )

 
3.设置全局的php命令
## 编辑/etc/profile文件,添加环境变量
vi /etc/profile//在文件最后添加如下内容######PHPPATH=$PATH:/usr/local/php8/bin## 在当前终端生效环境变量
source /etc/profile## 查看PHP版本
php -v

CentOS7下编译安装PHP8.0.7

文章插图
 
 
4.配置php-fpm.conf文件
## 创建php-fpm.conf配置文件
vi /usr/local/php8/etc/php-fpm.conf//输入以下内容[global]pid = /usr/local/php8/var/run/php-fpm.piderror_log = /usr/local/php8/var/log/php-fpm.loglog_level = notice[www]listen = 127.0.0.1:9000listen.backlog = -1listen.allowed_clients = 127.0.0.1listen.owner = wwwlisten.group = wwwlisten.mode = 0666user = nginxgroup = nginxpm = dynamicpm.max_children = 20pm.start_servers = 10pm.min_spare_servers = 10pm.max_spare_servers = 15pm.max_requests = 100request_terminate_timeout = 50request_slowlog_timeout = 15slowlog = var/log/slow.log注:①配置文件中所有参数的设置可根据实际环境需求进行修改,此处配置仅供参考 。pm.max_spare_servers选项的值要小于或等于pm.max_children选项的值;
②pm.max_requests:指的是每个子进程在处理了多少个请求数量之后就重启 。
 
5.配置服务管理脚本
## 创建服务管理脚本
vi /usr/lib/systemd/system/php-fpm.service//输入以下内容[Unit]Description=The PHP FastCGI Process Manager Documentation=http://php-fpm.org/After=network.target remote-fs.target nss-lookup.target[Service]Type=forkingPIDFILE=/usr/local/php8/var/run/php-fpm.pidExecStart=/usr/local/php8/sbin/php-fpm -y /usr/local/php8/etc/php-fpm.conf -c /etc/php.iniExecRestart=/bin/kill -USR2 $MAINPIDExecReload=/bin/kill -USR2 $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true[Install]WantedBy=multi-user.target注:脚本中的 "-c /etc/php.ini" 参数是为了解决某些第三方扩展已安装无法加载的问题,即在phpinfo页面中查看不到的情况 。
## 添加执行权限
chmod a+x /usr/lib/systemd/system/php-fpm.service## 重新加载服务配置文件
systemctl daemon-reload 
6.配置php.ini文件
注:本文中的参数配置仅供参考,实际使用环境中请根据需求进行修改 。
## 创建php.ini配置文件
cd /data/tools/php-8.0.7cp php.ini-production /etc/php.ini## 基础配置
sed -i 's/post_max_size = 8M/post_max_size = 20M/g' /etc/php.inised -i 's/upload_max_filesize = 2M/upload_max_filesize = 20M/g' /etc/php.inised -i 's/;date.timezone =/date.timezone = Asia/Shanghai/g' /etc/php.inised -i 's/short_open_tag = Off/short_open_tag = On/g' /etc/php.inised -i 's/max_execution_time = 30/max_execution_time = 300/g' /etc/php.inised -i 's/disable_functions =.*/disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server/g' /etc/php.ini## 开启opcache 和 JIT
vi /etc/php.ini//在配置文件中找到 [opcache]位置,添加如下参数配置:zend_extension=/usr/local/php8/lib/php/extensions/no-debug-non-zts-20200930/opcache.soopcache.enable=1opcache.enable_cli=1opcache.memory_consumption=256opcache.interned_strings_buffer=64opcache.max_accelerated_files=5000opcache.save_comments=1opcache.file_cache=/tmp;jit配置opcache.jit=1235opcache.jit_buffer_size=64M
CentOS7下编译安装PHP8.0.7

文章插图
 
说明:JIT是在Opcache优化的基础上结合Runtime信息将字节码编译为机器码缓存起来 。现有的Opcache优化不受任何影响,并且PHP的JIT是在Opcache中提供的 。JIT不是对Opcache替代,而是增强,在启用JIT的情况下,如果Zend底层发现特定字节码已经编译为机器码,则可以绕过Zend VM直接让CPU执行机器码,从而提高代码性能 。
## 确认opcache默认是否启用成功
php -m | grep OPcache
CentOS7下编译安装PHP8.0.7

文章插图
 
 
 
四、服务管理
启动:systemctl start php-fpm.service关闭:systemctl stop php-fpm.service重启:systemctl restart php-fpm.service查看状态:systemctl status php-fpm.service开机启动:systemctl enable php-fpm.service关闭开机启动:systemctl disable php-fpm.service
【CentOS7下编译安装PHP8.0.7】


推荐阅读