最近把服务器进行一下安全更新,好奇逛了一下PHP的主页,也在近期推送了PHP的稳定版本8.0.1。晚上刚好有空就把现在的PHP环境给更新到PHP8。现在的环境是Centos7的最小化版本,会缺少一部分工具包,本着能少则少的原则。
安装EPEL
EPEL的全称叫 Extra Packages for Enterprise Linux
。EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。
yum install -y yum-utils
package-cleanup --cleandupes
yum install -y epel-release
# 如果提示找不到epel-release包,可以运行下面来安装
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
安装PHP所需依赖
yum -y install wget bzip2-devel libxml2-devel curl-devel db4-devel libjpeg-devel libpng-devel freetype-devel pcre-devel zlib-devel sqlite-devel libmcrypt-devel unzip bzip2 m4 autoconf mhash-devel openssl-devel gcc gcc-c++ libtool-ltdl libtool-ltdl-devel oniguruma oniguruma-devel
下载PHP
PHP下载页面:https://www.php.net/downloads.php
mkdir –p /usr/work/php8 # 创建工作目录
cd /usr/work/php8
wget https://www.php.net/distributions/php-8.0.1.tar.gz
tar -zxvf php-8.0.1.tar.gz
cd php-8.0.1
编译PHP
查看可配置的PHP参数
./configure --help
编译安装,可以根据自己的需求来搭配适合自己的安装配置
./configure --prefix=/usr/local/php8 --with-config-file-path=/usr/local/php8 --with-config-file-scan-dir=/usr/local/php8/etc/php.d/ --with-libdir=lib64 --enable-mysqlnd --enable-pdo --enable-fastcgi --with-mysql --with-mysqli --with-pdo-mysql --with-iconv --with-freetype --with-jpeg --with-zlib --with-libxml --enable-xml --disable-fileinfo --enable-bcmath --enable-shmop --enable-sysvsem --with-curl --enable-mbregex --enable-mbstring --enable-ftp --enable-gd --enable-gd-jis-conv --with-openssl --enable-pcntl --enable-sockets --enable-soap --with-pear --with-gettext --enable-calendar --with-openssl --enable-opcache --enable-xml --enable-cli --enable-pcntl --enable-sockets --enable-soap --with-pear --with-gettext --enable-calendar
# 编译安装
make -j2 && make install
常见参数
--prefix
指安装程序存放目录--with-config-file-path
指php.ini
配置文件存放目录--with-config-file-scan-dir
指php.ini
的扩展目录
测试安装结果
/usr/local/php8/bin/php -v
# 如果只安装一种PHP环境
php -v
添加环境变量
vim /etc/profile
PATH=$PATH:/usr/local/php8/bin/
export PATH
# 保存并退出
:wq
# 生效配置
source /etc/profile
复制配置文件
从php源码目录复制文件到编译配置参数指定的目录,方便修改备份
# php.ini
cp /usr/work/php/php.ini-development /usr/local/php/lib/php.ini
# php-fpm 配置文件
cp /usr/work/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# php-fpm 扩展配置文件
cp /usr/work/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
# 开机自动启动脚本
cp /usr/work/php/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# 给php-fpm 添加可执行权限
chmod +x /etc/init.d/php-fpm
开启JIT编译
打开 php.ini
找到 zend_extension=opcache
给去掉注释
在 [opcache]
下面添加以下两项内容
开启opcache PHP性能优化组件
[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=192
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=100000
opcache.max_wasted_percentage=5
opcache.use_cwd=1
opcache.validate_timestamps=1
opcache.revalidate_freq=60
;opcache.save_comments=0
opcache.fast_shutdown=1
opcache.consistency_checks=0
;opcache.optimization_level=0
开启JIT编译器
opcache.enable=1
opcache.enable_cli=1
opcache.jit_buffer_size=128M
opcache.jit=1255
运行脚本
service php-fpm start # 检验服务启动
service php-fpm stop # 检验服务关闭
chkconfig php-fpm on # 配置开机启动php-fpm
最新评论
我现在基本都不是用QQ了,电脑没装,手...
我成为了范例 😃
看起来很完美。
1ro.cn 还收不,怎么联系不到人
你的feed貌似有点问题。你看下。`v...
哈哈哈,路过。看到了