Ubuntu下PHP提示openswoole与swoole冲突的卸载方案咨询
解决Ubuntu下PHP的swoole与openswoole冲突警告(彻底卸载两者)
你遇到的是swoole和openswoole模块冲突导致的警告,既然两个模块都不用,直接把两者都卸载就能彻底解决问题,以下是具体操作步骤:
- 先确认你的PHP版本
执行命令查看当前PHP版本:
php -v
记下版本号(比如8.1、7.4等)
- 卸载通过apt安装的模块
如果是通过Ubuntu官方源或第三方apt源安装的模块,执行以下命令卸载:
- 卸载swoole:
sudo apt remove --purge php-swoole
- 卸载openswoole:
sudo apt remove --purge php-openswoole
--purge参数会同时删除模块的配置文件,避免残留。
- 卸载通过pecl安装的模块(如果apt卸载后警告仍存在)
如果模块是用pecl安装的,执行以下命令卸载:
- 卸载swoole:
sudo pecl uninstall swoole
- 卸载openswoole:
sudo pecl uninstall openswoole
- 手动清理残留配置文件(可选)
如果执行完上述步骤后还有警告,检查PHP CLI的配置目录,删除残留的模块配置文件:
# 替换{PHP版本}为你的实际版本,比如8.1 ls /etc/php/{PHP版本}/cli/conf.d/ | grep -E "(swoole|openswoole)"
如果输出类似20-swoole.ini的文件,用命令删除:
sudo rm /etc/php/{PHP版本}/cli/conf.d/20-swoole.ini sudo rm /etc/php/{PHP版本}/cli/conf.d/20-openswoole.ini
- 验证卸载结果
执行以下命令检查模块是否已移除:
php -m
输出列表中如果没有swoole和openswoole,说明卸载成功,此时再执行任意PHP命令,警告会消失。
补充:如果需要同步卸载web环境的模块
如果你同时在使用Apache或Nginx+PHP-FPM,需要对应清理web环境的模块配置:
- Apache:将上述命令中的
cli替换为apache2,比如/etc/php/{PHP版本}/apache2/conf.d/ - PHP-FPM:将
cli替换为fpm,比如/etc/php/{PHP版本}/fpm/conf.d/,清理后记得重启PHP-FPM服务:sudo systemctl restart php{PHP版本}-fpm
内容的提问来源于stack exchange,提问作者milica98
相关产品推荐
相关产品推荐

