宝塔51特惠活动,企业版1099元/年,送SSL证书,最高立减2万元!查看活动
当前位置:论坛首页 > Linux面板 > 求助

swoole运行报错cannot enable both hooks HOOK_NATIVE_CURL and HOOK_CURL

发表在 Linux面板2024-1-16 15:10 [复制链接] 3 2731

本帖最后由 苏家心亮 于 2024-1-16 16:45 编辑
面板、插件版本:

面板:8.0.1PHP:7.4.33
Swoole: 4.8.13   4.8.12
系统版本:

CentOS 7.9.2009 x86_64
问题描述:

运行报错:
Swoole\Runtime::enableCoroutine(): cannot enable both hooks HOOK_NATIVE_CURL and HOOK_CURL at same time
相关截图(日志、错误):

之前在其他服务器上运行相同的项目没有遇到这问题,排查发现是Swoole版本不同,之前的是4.8.12,新的是4.8.13
在论坛找到这帖:https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=119218 按照帖子里的方法重新安装了4.8.12,运行后问题依旧;

仔细查看了下信息,虽然版本变成了4.8.12,但  curl-native 还是启用状态
把swoole4.sh 中命令行
  1. ./configure --with-php-config=/www/server/php/$version/bin/php-config --enable-openssl --enable-sockets --enable-swoole-curl
复制代码

里边的 --enable-swoole-curl  删除,重新安装后发现又变成4.8.13了, 而且 curl-native 也是启用状态
反复重装几次还是这样子
1.png

2.png





使用道具 举报 只看该作者 回复
发表于 2024-1-16 16:43:38 | 显示全部楼层
看了下安装脚本,手动安装上了
下载后4.8.12安装包

  1. tar -zxvf swoole-4.8.12.tgz
  2. cd swoole-4.8.12/
  3. /www/server/php/74/bin/phpize
  4. ./configure --with-php-config=/www/server/php/74/bin/php-config --enable-openssl --enable-sockets
  5. make && make install
  6. echo -e "\n[swoole]\nextension = swoole.so\nswoole.use_shortname = off\n" >>/www/server/php/74/etc/php.ini
复制代码
使用道具 举报 回复 支持 反对
遇到同样问题,你上面说的 --enable-swoole-curl  删除,重新安装后发现又变成4.8.13了, 而且 curl-native 也是启用状态
反复重装几次还是这样子,这个问题的原因是每次卸载swoole的话,swoole4.sh文件会重写,版本号重写为4.8.13了,所以你每次安装的是4.8.13,。解决办法就是卸载了swoole后,把swoole4.sh里的版本号改为4.8.12.,删除--enable-swoole-curl,在执行安装就好了
使用道具 举报 回复 支持 反对
--enable-swoole-curl  删除,重新安装后发现又变成4.8.13了, 而且 curl-native 也是启用状态。这个问题的原因是你每次卸载swoole4.sh文件重写了,版本号变成4.8.13了。正确做法是:卸载后把swoole4.sh文件里版本号该给12,删除 --enable-swoole-curl 执行安装命令,问题就解决了
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析
快速回复 返回顶部 返回列表