zoukankan      html  css  js  c++  java
  • PHP 7下安装Swoole和Yar、Yaf

    安装步骤

    1.wget -c https://github.com/swoole/swoole-src/archive/v2.0.8.tar.gz  百度盘链接:https://pan.baidu.com/s/1xqrIBq_xerG7tCMgttKnNw 密码:j4hs

    2.tar -zxvf v2.0.8.tar.gz//解压缩 然后cd进入压缩后目录

    3.这个时候需要使用phpize生成编译文件(在这里附上http://www.cnblogs.com/hubing/p/4941692.html对phpize的解释 已经很明了了){

    phpize的作用可以这样理解:侦测环境(phpize工具是在php安装目录下,基于这点phpize对应了当时的php环境,所以是要根据该php的配置情况生成对应的configure文件),建立一个configure文件。必须在一个目录下去运行phpize。那么phpize就知道你的的环境是哪个目录,并且configure文件建立在该目录下。

    }

    此时的我保错如下:Can't find PHP headers in /usr/include/php The php-devel package is required for use of this command.

    解决方法:yum install php70w-devel

    4.执行phpize  /usr/bin/phpize(记得要在swoole扩展目录下执行)

    5.执行 ./configure

    6.然后就是 make && make install 一起走完

    7.最后要修改下php.ini  添加extension=swoole.so

    8.记得重启服务

    OK ! 此时执行php -m 可以看到多了个swoole就说明成功了

    笔者开发坏境:CentOS7,PHP 7.0.16

    安装PECL

    //php版本 > 7
    $ wget http://pear.php.net/go-pear.phar
    $ php go-pear.phar
    
    //php版本 < 7
    $ yum install php-pear
    //否则会报错PHP Parse error:  syntax error, unexpected //'new' (T_NEW) in /usr/share/pear/PEAR/Frontend.php on //line 91
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    安装swoole

    $ sudo pecl  install swoole
    
    //报错如下
    //Warning: Invalid argument supplied for foreach() in //Command.php on line 249
    
    vi `which pecl`
    
    //找到最后一行
    exec $PHP -C -n -q $INCARG -d date.timezone=UTC -d output_buffering=1 -d variables_order=EGPCS -d safe_mode=0 -d register_argc_argv="On" $INCDIR/peclcmd.php "$@"
    
    去掉 -n 标示
    
    //报错如下
    //running: phpize
    //Can't find PHP headers in /usr/include/php
    
    安装 PHP devel
    
    成功!
    //Build process completed successfully
    //Installing '/usr/lib64/php/modules/swoole.so'
    //install ok: channel://pecl.php.net/swoole-1.9.8
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    配置 php.ini

    $ php -i | grep php.ini
    //修改或者添加
     extension=swoole.so
    • 1
    • 2
    • 3

    安装 yar

    $ sudo ./pecl install msgpack
    
    //pecl/yar requires PHP (version >= 5.2.0, version <= 5.6.99), installed version is 7.0.16
    //注意PHP7,要使用yar-2.0.2
    $ sudo ./pecl install yar-2.0.2 //注意yar-2.0.2版本
    
    //添加,json.so 要放到前面。否则会报
    //PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/yar.so' - /usr/lib64/php/modules/yar.so: undefined symbol: php_json_decode_ex in Unknown on line 0
    
    extension=json.so //放前面
    extension=swoole.so
    extension=msgpack.so
    extension=yar.so
    
    其他问题!!!
    //报错
    //perl: warning: Setting locale failed.
    //perl: warning: Please check that your locale //settings:
    //   LANGUAGE = (unset),
    //    LC_ALL = (unset),
     //   LANG = "en_US.UTF-8"
    
    $ localedef -v -c -i en_US -f UTF-8 en_US.UTF-8
    
    //报错
    //checking for cURL in default path... not found
    //configure: error: Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/
    
    $ sudo yum -y install curl-devel
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    安装Yaf

    $ sudo ./pecl install yaf
    //更新php.ini
    extension=yaf.so
    //重启服务
    $ sudo systemctl restart  php-fpm.service
    //安装脚手架
    $ git clone http://pecl.php.net/package/yaf
    $ cd php-yaf/tools/cg
    $ php yaf-cg app
    //配置 项目目录指向 app/index.php
    //访问配置host
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    nginx配置

    server {
      listen ****;
      server_name  domain.com;
      root   document_root;
      index  index.php index.html index.htm;
    
      if (!-e $request_filename) {
        rewrite ^/(.*)  /index.php/$1 last;
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    Enjoy it!

    yar

    swoole

    msgpack

    这里写图片描述

  • 相关阅读:
    【洛谷P3901】数列找不同
    【洛谷P2966】Cow Toll Paths
    【CH6901】骑士放置
    【洛谷P2215】上升序列
    【洛谷P1637】三元上升子序列
    【POJ2226】Muddy Fields
    【UVA1194】Machine Schedule
    【CH6803】导弹防御塔
    【CH6802】车的放置
    hdu 3572(构图+最大流)
  • 原文地址:https://www.cnblogs.com/caicaizi/p/9132040.html
Copyright © 2011-2022 走看看