需先确保Swoole扩展已正确安装并启用协程MySQL支持,否则调用SwooleCoroutineMySQL会报“Class not found”;验证方法为执行/www/server/php/80/bin/php --ri swoole检查enable-async-mysql => enabled,若未启用则必须通过PECL安装时输入y或源码编译添加--enable-async-mysql参数重新编译。

在宝塔面板中完成Swoole协程MySQL配置,需先确保Swoole扩展已正确安装并启用,再通过PHP代码层启用协程MySQL客户端能力,否则调用SwooleCoroutineMySQL会直接报错“Class not found”或“undefined function”。
确认Swoole已安装且支持协程MySQL
执行命令验证Swoole版本与功能状态:
/www/server/php/80/bin/php --ri swoole
检查输出中是否包含【enable-async-mysql => enabled】字段;若显示disabled或无此行,说明编译时未开启该特性,必须重新编译——此时不能仅靠修改php.ini解决。
若使用pecl安装,安装过程中会询问“Enable async MySQL client support?”,必须输入y并回车;若跳过或输n,则无法启用协程MySQL。
源码编译时启用协程MySQL(必须步骤)
方法一:使用PECL自动安装(推荐)
1、确保已安装编译工具:yum install -y gcc gcc-c++ make autoconf(CentOS)或 apt install -y build-essential autoconf(Ubuntu)
2、执行:
/www/server/php/80/bin/pecl install swoole
3、当提示“Enable async MySQL client support?”时,输入【y】并回车;其他选项可回车跳过默认值。
方法二:手动编译指定参数
1、下载并解压Swoole源码后,进入目录
2、运行phpize:
/www/server/php/80/bin/phpize
3、配置时必须显式添加--enable-async-mysql参数:
./configure --with-php-config=/www/server/php/80/bin/php-config --enable-async-mysql
4、make && make install
5、安装成功后,终端会输出类似Installing shared extensions: /www/server/php/80/lib/php/extensions/no-debug-non-zts-20200930/的路径,记下该路径。
验证并启用协程MySQL能力
第一步:确认swoole.so已加载
执行/www/server/php/80/bin/php -m | grep swoole,有输出即表示扩展已载入。
第二步:检查协程MySQL类是否存在
新建临时测试文件test_mysql.php,内容为:
第三步:在CLI下运行验证
/www/server/php/80/bin/php test_mysql.php
若返回bool(true),说明协程MySQL已就绪;若为false,请立即检查上一步编译时是否漏掉--enable-async-mysql参数——这是最常见也是唯一会导致该类缺失的原因。
第四步:在Web环境同步验证
在网站根目录新建info.php,内容为


















