centos php多版本共存,在原有的php5.6版本上新增php7.3.20版本
下载php7.3.20文件 wget https://www.php.net/distributions/php-7.3.20.tar.gz tar -zxvf php-7.3.20.tar.gz mv php-7.3.20 /usr/local/php73 cd /usr/local/php73 查看php编译参数命令得到如下编译参 php -i | grep configure 需要区分 编译目录和配置文件目录不能与原来的php5.6版本重叠(我的原先是5.6版本的,有些不能用,比如 --with-mcrypt 等) ./configure --prefix=/usr/local/php73 --with-config-file-path=/usr/local/php73/etc --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-opcache --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gettext --enable-mbstring --with-iconv --with-mhash --with-openssl --enable-bcmath --enable-soap --with-libxml-dir --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-zlib --enable-zip --with-bz2 --with-readline 根据提示进行安装 , 安装过程根据编译参数情况而定,可能需要很久 make && make install 设置软链 ln -s /usr/local/php73/bin/php /usr/bin/php73 查看7.3版本 php73 -v 将原来php5.6的版本的 php.ini 和 php-fpm.conf 复制到 php7.3的配置目录 /usr/local/php73/etc 中 根据实际情况 修改新版本的php.ini 和 php-fpm.conf 配置文件 由于原 php56 的fpm使用 9000 端口。故我在新php73中使用 9001端口 cp /usr/local/php/etc/php-fpm.conf /usr/local/php73/etc/php-fpm.conf vim /usr/local/php73/etc/php-fpm.conf 查找listen = 127.0.0.1:9000 改为 listen = 127.0.0.1:9001 cd /usr/local/php73/sbin ./php-fpm 启动fpm ,查看是否成功 配置项目的nginx配置文件,引入不同的fpm端口,而实现使用不同php版本。 例如:fastcgi_pass 127.0.0.1:9001; # 查看 php的 xxxx扩展信息 php --ri xxxx # 查看安装php的编译参数 php -i | grep configure # 查看php扩展安装目录 php -i | grep extension_dir
补充:
安装php-redis扩展
下载并解压redis扩展:
wget https://nodeload.github.com/nicolasff/phpredis/zip/master mv master phpredis.zip unzip phpredis.zip cd phpredis/
找到php73对应的phpsize php-config:
例如我的是: ① /usr/local/php73/bin/phpize 回车后显示: Configuring for: PHP Api Version: 20180731 Zend Module Api No: 20180731 Zend Extension Api No: 320180731 ② ./configure --with-php-config=/usr/local/php73/bin/php-config ③ make && make install 安装完成后显示: Installing shared extensions: /usr/local/php73/lib/php/extensions/no-debug-non-zts-20180731/
在php73版本的php.ini最后一行加上:
vim /usr/local/php73/etc/php.ini 加上: extension=redis.so
然后重启php73的php-fpm后 ;输入 php73 -m 就可以看到添加redis的扩展了。