3.设置全局的php命令
## 编辑/etc/profile文件,添加环境变量
vi /etc/profile//在文件最后添加如下内容######PHPPATH=$PATH:/usr/local/php8/bin
## 在当前终端生效环境变量
source /etc/profile
## 查看PHP版本
php -v
![CentOS7下编译安装PHP8.0.7](http://img.jiangsulong.com/220427/152H14314-3.jpg)
文章插图
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 和 JITvi /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](http://img.jiangsulong.com/220427/152H14511-4.jpg)
文章插图
说明:JIT是在Opcache优化的基础上结合Runtime信息将字节码编译为机器码缓存起来 。现有的Opcache优化不受任何影响,并且PHP的JIT是在Opcache中提供的 。JIT不是对Opcache替代,而是增强,在启用JIT的情况下,如果Zend底层发现特定字节码已经编译为机器码,则可以绕过Zend VM直接让CPU执行机器码,从而提高代码性能 。
## 确认opcache默认是否启用成功
php -m | grep OPcache
![CentOS7下编译安装PHP8.0.7](http://img.jiangsulong.com/220427/152H11452-5.jpg)
文章插图
四、服务管理
启动: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】
推荐阅读
- 近水楼台先得月下一句怎么接 近水楼台先得月下一句是什么意思
- Linux下查找java进程耗用cpu最高的线程方法
- 乳胶枕可以在太阳下晒吗 乳胶能不能在太阳底下晒
- 地下水的分类依据是什么各有哪些类型的地下室 地下水的分类依据是什么
- Windows环境下安装Jenkins
- 小朋友摔跤下巴缝针后会留印么
- 宝宝头顶朝下摔到地上
- 受精当月会来月经吗?
- 翡翠|夏天佩戴翡翠,如果不想影响美观,注意以下这三点!
- 大自然|北京四月飘雪 仿佛一夜穿回冬天:山西甘肃也下雪 冷空气深入南下