学习使用swoole过程当中遇到的坑总结

坑1:使用laravelS依赖的时候 出现一个问题就是想经过php建立websocket客户端 php

思路就是先建立http客户端 以后经过upgrade升级成websocket链接laravel

可是在第一部过程当中 出现一个问题git

右边红色部分显示 这个class未找到github

学习使用swoole过程当中遇到的坑总结

解决方法1: 下降swoole扩展的版本  推荐使用https://pecl.php.net/get/swoole-1.10.5.tgzweb

   而后安装步骤跟初次安装swoole同样  若是出现  make && make install 失败的话 进行   make clean redis

   以后再次执行  make && make installwebsocket

   可是方法1使用低版本会面临 再也不维护的风险swoole

解决方法2:推荐采用  下载swoole的异步库  ext-async异步

  须要注意的是 假设swoole的版本是4.4.4  (经过 php --ri swoole 可查看)socket

  那么安装的ext-async的版本也要4.4.4 搭配使用
   

安装步骤以下:

       1.  wget   https://github.com/swoole/ext-async/archive/v4.4.6.zip 

       2.  解压 uzip  v4.4.6.zip 

       3.  cd  ext-async

       4.  phpize

       5.  ./configure --with-php-config=PATH (PATH指php-config的具体路径)

       6.  make -j 4

       7.  make install

  1. 以后修改php.ini 增长一句 extension=swoole_async.so
      安装完以后 就发现 问题也解决了!(有问题能够留言)

坑2:卸载编译安装的swoole

个人swoole是经过wget下载以后 进行编译安装  可是遇过一个状况 就是想把swoole的版本切换成其余版本的时候 进行覆盖安装会出现失败的可能

那么咱们就采起把当前的swoole卸载掉 以后 从新安装咱们要的版本

步骤以下:

    1.找到环境中的php.ini文件  

find / -name php.ini
    2.编辑文件  找到extension=swoole.so的那一行 注释掉

    3.查找swoole.ini文件  能够经过以下命令获取具体路径

php --ini
     4.根据显示的位置 删掉swoole.ini 

     5.测试是否删除成功  没有出现swoole的信息就表示卸载成功 就能够进行愉快的下载安装了!

//查看swoole版本
php --ri swoole
坑3:在使用swoole过程当中 须要手写一个关于redis的服务

这个redis的服务 是须要环境中的swoole 开启  async-redis

此时 经过命令:php --ri swoole  看到并无开启以上的这个配置

那么有两种方法 一种是将环境中的swoole卸载  第二种就是将环境中的swoole从新编译安装

这里使用的是第二种方法 卸载的方法 本文的上面已经提过

1.定位到swoole的安装位置

cd /usr/local/src/swoole-4.4.6
2.执行编译安装的命令  也就是在这里进行开启上述说的到redis配置

phpize

#/www/server/php/72/bin/php-config 这个是环境中的php-config的位置
./configure --with-php-config=/www/server/php/72/bin/php-config --enable-async-redis
3.以后执行

make -j

make clean

make install4.以后执行再次执行 php --ri swoole  若是成功 能够看到 相似于以下图所示的配置

相关文章
相关标签/搜索