Swoole 常见问题

  • 本文不针对 pecl 安装的 swoole,建议也不要使用这个方式安装,因为这种方式安装的 swoole 无法自定义编译选项
  • 一个稳定的 PHP5 版本,虽然已经支持 PHP7 了,但似乎还有暗坑,建议使用 PHP5.6
  • 一个稳定的 swoole 版本,使用带有 stable 的版本,由于 swoole 还在不断完善中,每个版本都会有 bug 的解决,所以请使用 2.0 以下的最新 stable 版本

Swoole 扩展编译失败,如何解决

  • 笔者在此还未出现过编译失败的情况,所以无法收集,提供以下解决思路,欢迎留言
  • 某些依赖未安装,如 openssl, libcompress 之类,按提示安装就好,swoole 提示可能不会很明显
  • 权限问题,swoole 源码目录不要使用 windows 挂载的目录

如何查看是否已经安装成功

// 通常情况下,编译安装成功,swoole.so 会添加到默认扩展目录下,目录查看
/php-path/bin/php-config --extension-dir

// 此命令会输出 swoole 版本及默认配置,如果没有输出或者报错,则说明扩展仅仅编译成功,未启用
php --ri swoole

// 某些情况下,你的 php-fpm和php-cli使用的不是同一个php.ini
// php-fpm 查看php.ini配置路径,请使用phpinfo函数
// php-cli 查看 php.ini 配置路径
php --ini|grep "Loaded"
// 输出的路径如果和phpinfo中的路径一致,则表示使用的同一个php.ini,反之则不是,启用扩展时请选择正确的配置文件

扩展已经安装成功,但运行提示 'xxx' class not found

// 前提是你扩展安装并启用成功,也就是说你是通过命令行运行的文件
php filename.php
// 命令行下 swoole 已经启用
php --ri swoole
// 在输出注意输出中有一项 use_namespace,如果此项为1,则需要使用命令空间
// swoole_server => \Swoole\Server
// 在确认扩展启用无误的情况下,class not found 都是这个原因造成的

服务端已经启动,客户端连接不上

  • 请检查防火墙规则
  • 如果使用的虚拟机,请检查端口映射是否已经添加

提示 SWOOLE_SSL 常量未定义

// 查看swoole编译选项 openssl 是否为 enable状态
php --ri swoole

转载于:https://my.oschina.net/jhasheng/blog/739346

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值