centos8手动编译安装swoole过程

环境:
centos8
宝塔7.9.3
php 7.4
swoole 4.8.11
代码框架:tp6+swoole
aliyuncs/oss-sdk-php 2.5.0
qcloud/cos-sdk-v5 2.5.9
问题:
使用了swoole http服务后导致阿里云与腾讯云的sdk发生错误,分别是:
阿里云提示:RequestCoreException: cURL error: SSL verify failed (1014)
腾讯云提示:Object of class Swoole\Curl\Handler could not be converted to int

百度原因是宝塔默认安装的swoole没有设置:curl-native:enabled需要手动安装swoole并配置上这个设置,操作大至流程如下:

  • 安装前的准备:

    1. 确认php的版本是否php 7.4
      指令:php -v
      如果版本不对,可以到宝塔系统进行操作:
      网站->PHP命令行版本->选php-74,提交
      (注:默认可能已经是php-74,但要提交才生效)
    2. 删除宝塔默认安装的swoole。
      指令:php -m确认是否已删除swoole扩展
    3. 确认是否安装了pecl
      指令:pecl
      如果显示pecl的帮助文字即是已安装,如果没安装可执行以下指令进行安装
      pecl安装指令:
      wget http://pear.php.net/go-pear.phar
      php go-pear.phar (过程中的所有提示都按回车即可)
      yum install php-pear //确认pecl是否安装装完毕
      最后再次尝试运行pecl指令
  • 安装swoole:

    1. 安装指令:
      swoole 4.8安装指令
      pecl install -D ‘enable-sockets=“yes” enable-openssl=“yes” enable-http2=“yes” enable-mysqlnd=“yes” enable-swoole-json=“no” enable-swoole-curl=“yes” enable-cares=“yes”’ https://pecl.php.net/get/swoole-4.8.11.tgz
      =====================================================================
      swoole 5.0安装指令:
      pecl install --configureoptions ‘enable-sockets=“yes” enable-openssl=“yes” enable-http2=“yes” enable-mysqlnd=“yes” enable-swoole-json=“yes” enable-swoole-curl=“no” enable-cares=“yes”’ https://pecl.php.net/get/swoole-5.0.0.tgz

    2. 指令运行完毕后记录swoole的安装路径
      安装路径一般会在安装结束提示的"Build process completed successfully"下面第一句,例如:Installing ‘/xxx/xxx/xxx/xxx/swoole.so’

    3. php.ini的设置
      1. 在宝塔内的php配置文件最后添加
      [swoole]
      extension = /xxx/xxx/xxx/xxx/swoole.so(此处为刚刚记下的swoole路径)
      2. 重新加载配置(在宝塔内操作)后运行php -m指令查看是否有swoole扩展,如果没有则需要在php-cli.ini里追加同样的配置才行。
      查看php-cli.ini的指令为:php --ini
      设置完比后重新加载配置或重启php后(在宝塔内操作)即可以在php -m内看到swoole
      4.作完以上操作后即可在phpinfo()内查看到swoole里已经包含的curl-native:enabled 阿里云和腾讯云的sdk包即可顺畅运行。

  • 附加:
    在运行php think swoole时提示“Uncaught Error: Class ‘Swoole\Table’”即是php -m里没有swoole扩展导致的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值