猿创|有赞的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)

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)了。
| 参考项 | 链接 |
| zan framework官方快速上手指南 | http://zanphp.io/guide |
| swoole | http://www.swoole.com/ |
猿创|有赞的zan framework安装与使用的更多相关文章
- 猿创|有赞的zan framework安装与使用[2]
下载并安装comoser curl -sS https://getcomposer.org/installer | php 结果各种超时 不能忍,打开迅雷下载installer:https://get ...
- Robot Framework安装及配置
Robot Framework安装及配置 需要按照的软件有Python.WxPython.robot framework.robotframework-ride.robotframework-sele ...
- robot framework 安装
一.安装 Python 2.7 pip 和 setuptools (Python 的套件管理程式,最新版的Python 2.7.13已包含) Robot Framework (此工具本身) wxPyt ...
- Robot Framework 安装及环境配置
Robot Framework 安装及环境配置 Robot Framework 介绍 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以 ...
- (一)Robot Framework安装
准备工作: Python 2.7 (目前不能良好支持python3) pip 和 setuptools (Python 的套件管理程式,最新版的Python 2.7.16已包含) Robot Fram ...
- Robot Framework安装部署详细教程
(转自“义甬君”) Robot Framework安装准备 说实话,在我玩了这么多自动化工具后,感觉Robot Framework所需的环境和安装过程是相对比较繁琐和复杂的.要真正搭建一套可以使用的R ...
- robot framework 安装配置
robot framework 是一款专门用作自动化测试的框架,提供了丰富的内置库,与第三方库,也支持用户自己编写的库,robot framework +library 可以 用来做ui的自动化测试, ...
- Play Framework安装和配置
安装环境: jdk 1.7; play 1.3.1; eclipse 安装指南:http://play-framework.herokuapp.com/zh/install 安装Play Framew ...
- PHP Framework安装
Framework 1> 初始化 前提:服务器上已经装有 Apache/Nginx 和 MySQL 进入 hush-framework/hush-app/bin 目录(Linux 下需执行 ch ...
随机推荐
- python数据结构与算法之list
1. 数据结构的操作 作为一种包含元素的数据结构,需要提供一些“标准”操作: 创建和销毁 判断是否空,如果容量有限,还需判断是否满 向结构中加入元素或从中删除 访问结构里的元素 不同的编程语言可能影响 ...
- gym101201F Illumination 2-SAT
题目传送门 题目大意: 给出n*n的网格,l栈灯,每盏灯可以选择照亮竖着的2*r+1的范围,或者横着的2*r+1的范围,要求一个格子不会同时被一盏以上的横着的灯照亮,也不能被一盏以上的竖着的灯照亮,所 ...
- 关闭Eclipse按空格和等号键自动补全内容
当我们在Eclipse中设置按下任何字母都弹出候选菜单后(默认只有再按"."后才会后输入的弹出菜单), 当是设置完后每次在输入变量的时候Eclipse就会自动给我们补全变量,就是在 ...
- nginx 反向代理导致的session丢失的问题
[原文链接] https://blog.csdn.net/xiaweiyidengzhewo/article/details/80921750 注意这篇文章解释的是“丢失”而不是“一致性”
- PMP 变更的流程
变更的流程: 内部变更: (团队成员提出)团队成员提出的变更,原则上拒绝,如果对客户和自己方都有好处不能拒绝1.内部变更 先分析影响 >> 2. 再提出变更请求 >> 3.变更 ...
- Ionic3,关于配置公共的css文件,引用非标准的文件(三)
说明 在开发过程中,很多样式为了能够共用,这样能够节省很大一部分时间用来编写样式,同时,一个完整的共用模板,在进行样式更换的时候,可以达到事半功倍的效果,因此在开发效率上也可以获得提高. 相关步骤: ...
- 如何在vue && webpack 项目中的单文件组件中引入css
引入方式很简单,就是在script下使用require()即可. 因为import 是import...from 的形式,所以是不需要的. <script> import {mapStat ...
- c#合并字典
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- Django自定义登陆验证后台
支持邮箱/手机号/昵称登录,在django1.6.2测试成功.1.models # -*- encoding: utf-8 -*- from django.db import models from ...
- python制作 whl 源文件,并制作本地pip源
制作whl 1.创建用于存放wheel文件目录 mkdir wheels 2.安装wheel库 pip install wheel 3.进入wheels目录 cd wheels 4.使用pip wh ...


