Centos编译安装多版本PHP8开启Opcache&Jit
PHP8正式版已经越来越近,想要尝鲜的可以体验起来了,上一次安装的是php的alpha版本,然而没有整理,这次php8rc2版本出来,一起整理一下编译安装流程,多版本并存。
1 下载php8
直接从官网上下载最新版本
下载;
wget -c https://downloads.php.net/~pollita/php-8.0.0RC2.tar.gz tar -zxvf php-8.0.0RC2.tar.gz cd php-8.0.0RC2
2:创建指定安装目录
因为是多版本安装 ,本次安装放在 /usr/local/php/php8rc2
mkdir -p /usr/local/php/php8rc2
3:编译安装(开启opcache和jit)
./configure --prefix=/usr/local/php/php8rc2 \ --with-config-file-path=/usr/local/php/php8rc2 \ --enable-mbstring \ --enable-ftp \ --enable-gd \ --enable-gd-jis-conv \ --enable-mysqlnd \ --enable-pdo \ --enable-sockets \ --enable-fpm \ --enable-xml \ --enable-soap \ --enable-pcntl \ --enable-cli \ --enable-opcache \ --with-openssl \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-pear \ --with-zlib \ --with-iconv \ --with-curl //中间可能有一些依赖缺失,按照提示补上就可以了 make && make install
3:配置文件
//php.ini cp php.ini-production /usr/local/php8rc2/php.ini //php-fpm启动文件 cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm8rc2
增加opcache 和jit配置
开启 opcache 和git [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.jit_buffer_size=128m opcache.jit=1255
增加执行权限
chmod +x /etc/init.d/php-fpmrc2 cd /usr/local/php/php8rc2/etc/ cp php-fpm.conf.default php-fpm.conf #这一步 要做 否则会报错 cd /usr/local/php/php8rc2/etc/php-fpm.d/ cp www.conf.default www.conf
修改php-fpm.conf 文件
去掉 pid = run/php-fpm.pid 前面的分号
修改启动用户:
user = www
group = www
修改监听端口: 默认是9080 我这里原来安装过其他版本的php8 所以这次用9090 多版本的这里要注意
listen = 127.0.0.1:9090
启动 phpfpm
/etc/init.d/php-fpm8rc2 start
这里php的安装就ok了 可以测试下
因为是多版本,如果是单个的 可以放到环境变量里面 ln -s
netstat -aptn 查看 多个版本的 php-fpm
查看对应版本的php-cli
nginx 配置对应的php
server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /data/wwwroot; index index.html index.htm index.php; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location ~ \.php { fastcgi_pass 127.0.0.1:9080; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #fastcgi_split_path_info ^(.+\.php)(/.*)$; #fastcgi_param PATH_INFO $fastcgi_path_info; include fastcgi_params; } location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
php8的新特性 稍后整理