zoukankan      html  css  js  c++  java
  • 猿创|有赞的zan framework安装与使用

    1.准备工作 1.1 一台腾讯云服务器2核CPU+2G内存的Linux CentOS 7.2(谢谢小杨同学@erchoc) 1.2 预装lnmp一键安装包环境,官方地址:lnmp一键安装包 (如不会使用请查看此链接) 2.安装swo...

     

    1.准备工作

    1.1 一台腾讯云服务器2核CPU+2G内存的Linux CentOS 7.2(谢谢小杨同学@erchoc)

    attachments-2017-05-2fVY45FB592a42c959288.png

    1.2 预装lnmp一键安装包环境,官方地址:lnmp一键安装包 (如不会使用请查看此链接)

    attachments-2017-05-AlzePe79592a4306df850.png

    2.安装swoole

    pecl install swoole

    刚安装完就发现zan framework需要swoole的1.8.5-stable版本,框架作者说明如下:

    Zan 基于 swoole-1.8.5-stable 版本构建,因 Swoole 更高版本 MySQL Query API 大幅变更,请勿使用更高版本。

    但是swoole1.9.11-stable版已经安装好了
    attachments-2017-05-ab2V63o8592a44e102097.png

    没事,我们卸载它

    attachments-2017-05-2LAieVFj592a450663a93.png

    安装1.8.5版本,就用

    pecl install swoole-1.8.5-stable

    安装时报错

    attachments-2017-05-M4Pqp1B1592a50441ff22.png怎么办,查看帮助文档

    pecl -h

    看到下面这个

    attachments-2017-05-GYx8FbfF592a50970d488.png于是继续探索猫腻

    pecl help install

    attachments-2017-05-chveKTiZ592a50e675922.pngstability状态(stable|beta|alpha)是不能跟版本号放在一起,这很好理解哈,那行我们继续

    pecl install swoole-1.8.5

    安装成功了。

    重启php-fpm

    lnmp php-fpm reload

    在web可访问的根目录加入index.php,并编写代码

    <?php 
        phpinfo();
        exit;
    ?>

    搜索swoole字符串

    attachments-2017-05-7M4V5KAQ592a525aba8a6.png小诀窍:如下查看当前php加载的ini配置文件信息?

    php --ini

    咦,笔者发现zan framework竟然建议启用swoole的3个configure参数,什么?

    ./configure  --enable-async-mysql --enable-async-httpclient --enable-sockets --enable-async-redis

    那pecl有没有对应的途径可以帮我们快速指定configure参数呢?

    # 笔者也没找到,如果同学们这里有好办法可以给我发邮件(820467790@qq.com),求指教。

    那么还等什么呢?赶紧下载swoole-1.8.5源码压缩包吧。

    cd ~/download && wget https://github.com/swoole/swoole-src/archive/swoole-1.8.5-stable.tar.gz

    下面就是PHP的C扩展通用编译流程了

    #解压
    tar xzvf swoole-1.8.5-stable.tar.gz
    cd swoole-src-swoole-1.8.5-stable #这是解压出来的目录名
    #对了,先卸载刚才安装的swoole
    pecl uninstall swoole
    #phpize 为configure准备环境,phpize是什么,看这里:http://php.net/manual/zh/install.pecl.phpize.php
    phpize
    #开始configure,下面的php-config的路径一定要指定
    (先把mysql扩展去掉,安装php56w-mysqlnd扩展) ./configure --with-php-config=/usr/local/php/bin/php-config --enable-async-mysql --enable-async-httpclient --enable-sockets --enable-async-redis #编译并安装 make -j2 && make install #笔者主机是2核CPU,故启用-j2参数

    报错了

    attachments-2017-05-uyqiQQ3F592a59e7be0f7.png搜索一下hiredis是什么鬼?

    找到了,链接地址:https://github.com/redis/hiredis(最小化的redis C client,要求redis 版本>1.2)

    我们下载它并直接make&&make install

    git clone https://github.com/redis/hiredis.git
    make && make install 

    再次进入swoole源码目录继续未完成的编译过程

    make -j2 && make install

    安装成功

    attachments-2017-05-ouuA6Whq592a5c57cebfc.png

    但是php -m查看继续报错

    attachments-2017-05-LCNi7aJX592a5f9142bc1.png目测是hiredis编译生成的libhiredis.so.0.13这个库文件没有找到导致的。

    看这个

    attachments-2017-05-oC3VbzfW592a60d3b9064.png

    cat /etc/ld.so.conf #想知道什么是什么吗,自己搜索一下吧,内容较多
    报错以后做如下操作
    1.修改/etc/ld.so.conf加上

    然后进入hiredis文件目录执行命令 ldconfig
    2./etc/php.ini做如下调整

    3.如果/etc/php.d里面也存在sockets.ini就去掉
     
     
     

    忽然想起来,我现在安装的操作系统是CentOS7.2 64bit,那么对应的yum仓库版本应该比较新,可以直接使用

    yum install hiredis-devel hiredis

    接下来在php.ini文件加入一行"extension=swoole.so"即可,继续php -m,成功了,接着可以重启php-fpm(lnmp php-fpm reload)了。

    来源:PHPAsk 作者:Kemin(Kemin

    参考项 链接
    zan framework官方快速上手指南 http://zanphp.io/guide
    swoole http://www.swoole.com/

  • 相关阅读:
    164-268. 丢失的数字
    163-20. 有效的括号
    Sword 30
    Sword 29
    Sword 27
    Sword 25
    Sword 24
    Sword 22
    Sword 21
    Sword 18
  • 原文地址:https://www.cnblogs.com/huohuoblog/p/6917670.html
Copyright © 2011-2022 走看看