centos安装PHP8

php8发布后就一直想体验下,但是自己的服务器内存只有1g一直无法编译成功,后来发现阿里云有乌兰察布的机器,比较便宜。就果断做了迁移,具体链接阿里云,选择乌兰察布的,现在有优惠。废话不多说,接下来就具体的讲怎么安装php8吧

  1. 下载安装包,并解压
wget https://www.php.net/distributions/php-8.0.3.tar.gz
tar -zxvf php-8.0.3.tar.gz
cd php-8.0.3
  1. 安装必要依赖
yum -y install libxml2-devel sqlite-devel libcurl-devel libpng-devel gmp-devel readline-devel oniguruma oniguruma-devel readline-devel libxslt-devel libzip-devel autoconf libmcrypt-devel libtool-devel
  1. 执行config
./configure --prefix=/usr/local/php/php8 --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-config-file-path=/usr/local/php/php8/etc --with-config-file-scan-dir=/usr/local/php/php8/etc/php.d --with-pcre-regex --with-zlib --with-openssl --enable-bcmath --with-curl --with-gd --with-freetype-dir=/usr/local/php/php8 --with-jpeg-dir=/usr/local/php/php8 --with-png-dir=/usr/local/php/php8 --enable-gd-native-ttf --with-gmp --with-mhash --enable-mbstring --with-mcrypt --with-pdo-mysql --with-readline --with-openssl-dir --with-xmlrpc --with-xsl --enable-zip --enable-mysqlnd --with-pear --enable-opcache

直接沿用之前的config会提示以下报错

configure: WARNING: unrecognized options: --with-pcre-regex, --with-gd, --with-freetype-dir, --with-jpeg-dir, --with-png-dir, --enable-gd-native-ttf, --with-mcrypt, --with-xmlrpc, --enable-zip

查找了php8的变更记录,对于 –enable-gd-native-ttf, –with-mcrypt, –with-xmlrpc 直接删除就好,最后的config如下

./configure --prefix=/usr/local/php/php8 --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-config-file-path=/usr/local/php/php8/etc --with-config-file-scan-dir=/usr/local/php/php8/etc/php.d --with-external-pcre --with-zlib --with-openssl --enable-bcmath --with-curl --enable-gd --with-gmp --with-mhash --enable-mbstring --with-pdo-mysql --with-readline --with-openssl-dir --with-xsl --with-zip --enable-mysqlnd --with-pear --enable-opcache
  1. make
make
make install
  1. 添加用户组及修改配置文件
groupadd www
useradd -g www www

cp sapi/fpm/init.d.php-fpm /etc/init.d/php8-fpm
chmod +x /etc/init.d/php8-fpm
cp php.ini-development /usr/local/php/php8/etc/php.ini
cp /usr/local/php/php8/etc/php-fpm.conf.default /usr/local/php/php8/etc/php-fpm.conf
cp /usr/local/php/php8/etc/php-fpm.d/www.conf.default /usr/local/php/php8/etc/php-fpm.d/www.conf\n
ln -sf /usr/local/php/php8/bin/php /usr/local/bin/php8
ln -sf /usr/local/php/php8/bin/php /usr/bin/php8
  1. 安装其他必要扩展
//mysqli
cd ext/mysqli/
/usr/local/php/php8/bin/phpize
./configure --with-php-config=/usr/local/php/php8/bin/php-config
make && make install
//mcrypt
/usr/local/php/php8/bin/pecl install mcrypt
  1. 打开扩展配置
extension=mysqli
extension=mcrypt.so
//配置opcache和jit
zend_extension=opcache
opcache.enable=1
opcache.memory_consumption=128
opcache.validate_timestamps=600
opcache.jit=1235
opcache.jit_buffer_size=64M
  1. 启动php
service php8-fpm start

到此就安装完了,剩下的jit就需要慢慢研究了