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)

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

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版已经安装好了

没事,我们卸载它

安装1.8.5版本,就用

pecl install swoole-1.8.5-stable

安装时报错

怎么办,查看帮助文档

pecl -h

看到下面这个

于是继续探索猫腻

pecl help install

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

pecl install swoole-1.8.5

安装成功了。

重启php-fpm

lnmp php-fpm reload

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

<?php
    phpinfo();
exit;
?>

搜索swoole字符串

小诀窍:如下查看当前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参数

报错了

搜索一下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

安装成功

但是php -m查看继续报错

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

看这个

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/

猿创|有赞的zan framework安装与使用的更多相关文章

  1. 猿创|有赞的zan framework安装与使用[2]

    下载并安装comoser curl -sS https://getcomposer.org/installer | php 结果各种超时 不能忍,打开迅雷下载installer:https://get ...

  2. Robot Framework安装及配置

    Robot Framework安装及配置 需要按照的软件有Python.WxPython.robot framework.robotframework-ride.robotframework-sele ...

  3. robot framework 安装

    一.安装 Python 2.7 pip 和 setuptools (Python 的套件管理程式,最新版的Python 2.7.13已包含) Robot Framework (此工具本身) wxPyt ...

  4. Robot Framework 安装及环境配置

    Robot Framework 安装及环境配置 Robot Framework 介绍 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以 ...

  5. (一)Robot Framework安装

    准备工作: Python 2.7 (目前不能良好支持python3) pip 和 setuptools (Python 的套件管理程式,最新版的Python 2.7.16已包含) Robot Fram ...

  6. Robot Framework安装部署详细教程

    (转自“义甬君”) Robot Framework安装准备 说实话,在我玩了这么多自动化工具后,感觉Robot Framework所需的环境和安装过程是相对比较繁琐和复杂的.要真正搭建一套可以使用的R ...

  7. robot framework 安装配置

    robot framework 是一款专门用作自动化测试的框架,提供了丰富的内置库,与第三方库,也支持用户自己编写的库,robot framework +library 可以 用来做ui的自动化测试, ...

  8. Play Framework安装和配置

    安装环境: jdk 1.7; play 1.3.1; eclipse 安装指南:http://play-framework.herokuapp.com/zh/install 安装Play Framew ...

  9. PHP Framework安装

    Framework 1> 初始化 前提:服务器上已经装有 Apache/Nginx 和 MySQL 进入 hush-framework/hush-app/bin 目录(Linux 下需执行 ch ...

随机推荐

  1. POJ_2456 Aggressive cows 【二分求最大化最小值】

    题目: Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stalls are l ...

  2. Linux 安装 python3

    1. 安装依赖环境 # yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline- ...

  3. Phyton自定义包导入。

    说明:同一个项目下的自定义包. 项目层次: 1:先建好项目Pybasestudty 2:建Python package,包名:pytestpk,__init__.py是建包时自动产生的文件. 3:在该 ...

  4. 启动Kafka

    启动zookeeper 使用命令查看zookeeper是否启动成功: 启动kafka Brokerr 使用命令查看kafka Broker是否启动更成功 在kafka中创建topic 'test' b ...

  5. 【3dsMax安装失败,如何卸载、安装3dMax 2016?】

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  6. (转)Shell中read的用法详解

    Shell中read的用法详解 原文:http://blog.csdn.net/jerry_1126/article/details/77406500 read的常用用法如下: read -[pstn ...

  7. (转)2017年最新企业面试题之shell(一,二)

    2017年最新企业面试题之shell(一) ********************************************** 企业Shell面试题1:批量生成随机字符文件名案例 * *** ...

  8. unity向量-数学-三角函数

    1.如何在unity写cos60 Mathf.Cos(Mathf.Deg2Rad * ) Deg2Rad将 60 角度转换为弧度,因为里面参数只能填弧度数 2.计算一个Vector3绕旋转中心旋转指定 ...

  9. 九度oj题目1518:反转链表

    题目1518:反转链表 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:2567 解决:948 题目描述: 输入一个链表,反转链表后,输出链表的所有元素.(hint : 请务必使用链表) ...

  10. mysql用户操作

    一, 创建用户: 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username - 你将创建的用户名, host - 指 ...