源码安装php7.4.33,支持hyperf2.2

概述

由于php7.4.0-7.4.1与hyperf/amqp2.2版本有冲突,导致必须升级php版本,使用php源码安装
服务器已经包含了其他版本的php,所以需要兼容处理
必须安装的扩展

  • pcntl
  • swoole

安装

下载源码

php官方网站找到下载版本对应的下载链接 : https://www.php.net/downloads

wget https://www.php.net/distributions/php-7.4.33.tar.gz

源码解压

解压到当前的下载目录

tar -zxvf php-7.4.33.tar.gz

配置php路径及需要的扩展

./configure --prefix=/www/wdlinux/php7.4.33 --with-config-file-path=/www/wdlinux/php7.4.33/etc --enable-bcmath --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-opcache --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-pdo --with-mysqli=mysqlnd --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=mysqlnd --with-gettext --enable-mbstring --with-iconv --with-mhash --with-openssl --enable-bcmath --enable-soap --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-zlib --enable-zip --with-bz2 --with-readline --with-libxml -enable-gd --enable-xml --with-gd --enable-mbregex --enable-ftp --with-xmlrpc --with-zip --without-pear --enable-session --with-jpeg --with-freetype

这一步一般会提示有一些依赖没有安装

比如下图:
在这里插入图片描述
先安装提示中的依赖

yum -y install readline-devel

比较全的依赖安装

yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses curl gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel expat-devel xmlrpc-c xmlrpc-c-devel libicu-devel libmcrypt-devel libmemcached-devel libzip libzip-devel

继续执行./configure命令

make
make install

查看php安装的扩展

../php7.4.33/bin/php -m

php.ini

将源码包中的配置文件复制到安装目录etc下的php.ini

cp php.ini-development /www/wdlinux/php7.4.33/etc/php.ini
cp /www/wdlinux/php7.4.33/etc/php-fpm.conf.default /www/wdlinux/php7.4.33/etc/php-fpm.conf
cp /www/wdlinux/php7.4.33/etc/php-fpm.d/www.conf.default /www/wdlinux/php7.4.33/etc/php-fpm.d/www.conf

源码安装redis扩展

php扩展大本营↓

https://pecl.php.net/

下载redis扩展包源码,到php的扩展目录

搜索redis,点击结果进入详情有对应的redis扩展的源码地址

#在php源码的ext目录下下载
git clone https://github.com/phpredis/phpredis.git

进入redis源码目录,运行phpize

cd phpredis
/www/wdlinux/php7.4.33/bin/phpize
./configure --with-php-config=/www/wdlinux/php7.4.33/bin/php-config
make
make install

安装成功之后会显示扩展的存放目录
在这里插入图片描述

修改php.ini开启redis

vi /www/wdlinux/php7.4.33/etc/php.ini

在这里插入图片描述

源码安装swoole扩展

1.源码下载

wget https://github.com/swoole/swoole-src/archive/refs/tags/v4.8.10.tar.gz

2.phpize命令执行

tar -zxvf v4.8.10.tar.gz
cd swoole-src-4.8.10/
/www/wdlinux/php7.4.33/bin/phpize
 ./configure --with-php-config=/www/wdlinux/php7.4.33/bin/php-config
 make && make install

3.修改php.ini配置

vi /www/wdlinux/php7.4.33/etc/php.ini
添加一句
extension=swoole

在hypef升级2.2过程中还遇到了amqp一直报错的问题,排除链接错误问题之后,固定了hyperf/amqp
的版本为3.1.0

问题解决:

you must configure with `--enable-openssl` to support ssl connection when compiling Swoole

解决方法,重新按照上面方式重装的swoole.这是因为在编译安装的时候未开启openssl

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值