swoole笔记01(软件安装)

swoole是什么?

    1 C语言编写的扩展

    2 异步,并行,高性能的网络通信引擎

准备工作

    linux环境下开发

    php7   swoole2.1  redius

    安装php7源码包  安装swoole源码包

源码安装swoole  

        1   官网https://www.swoole.com/ 下载

             wget  https://github.com/swoole/swoole-src/archive/v4.0.1.tar.gz

           (这里应该下载官方4.0以上版本,如果采取git clone下载压缩包,在编译的时候容易出现错误:

             recipe for target   'swoole_http_server.lo' failed make: *** [swoole_http_server.lo] Error 1)

        2   按步骤来说,安装源码包需要configure (配置),make(编译),make install(安装)

             但是咱们目前下载的swoole包是没有configure文件的,这时候就需要php自带的一个工具:phpize  生成configure文件

             在swoole文件夹下 调用phpize,生成configure文件

              /home/work/study/soft/php/bin/phpize


        注意:明哥安装到这里出现的问题:系统提示autoconf未找到,这里附上解决措施一篇

                wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz

                tar -zvxf m4-1.4.9.tar.gz

                cd m4-1.4.9/

                ./configure && make && make install

                cd ../

                wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz

                tar -zvxf autoconf-2.62.tar.gz

                cd autoconf-2.62/

                ./configure && make && make install


       3    ./configure --with-php-config=/home/work/study/soft/php/bin/php-config    (指向安装的php7)

       4     make &&  make install

PHP7支持swoole

      1   我们安装好了php7也安装好了swoole,当我们打开使用php执行swoole/examples/echo.php时却发现 

            Class 'swoole_server' not found in /home/swoole-src-4.0.0/examples/server/echo.php:2  

             这是因为当php运行扩展的时候,需要在php.ini文件进行配置。

            这里明哥首先需要说明的是,如果你的php是编译安装的,那么默认是没有php.ini的,你必须自行去源码包里边拷贝。把配置文件放到php指定的配置文件路径中

        (1)  vi  phpinfo.php                                 

      (2)php phpinfo.php | grep php.ini        可见php.ini文件路径指向到 /home/work/study/soft/php/lib

        (3)  将源码包中的php.ini-development 移动到指向路径中,并改名

            cp php.ini-development    /home/work/study/soft/php/lib/

     2  在php.ini文件中加上swoole扩展

            extension= swoole

            php -m 后发现,出现扩展中已经出现swoole

     3  找到swoole/examples/server/echo.php (swoole默认占用9501端口)

            (1)运行echo.php文件  (php echo.php ) 

            (2)检测9501端口是否被占用  netstat  -anp | grep 9501  或者 lsof -i:端口号 

你可能感兴趣的:(swoole笔记01(软件安装))