# 安装 Yaf
> 本章假设你已经安装了 LNMP 开发环境(PHP 版本不低于7.0),直接从安装 Yaf 拓展开始叙述
因为 Yaf 是用 C 语言开发的 PHP 框架,也可以理解为是 PECL 拓展。所以跟平常遇到的用 PHP 开发的框架不太一样,例如 ThinkPHP5,Laravel 是直接下载可用或者通过 Composer 安装使用。Yaf 需要先安装拓展后才可以正常使用。
首先我们来介绍一下怎样安装 Yaf 拓展
# 安装
最新版本的 Yaf 最低支持 PHP7.0,所以我们需要保证当前 PHP 环境为 7.0 版本以上,支持 PHP5.X 的 Yaf 最高版本为2.3.4,笔者不再推荐使用老版本的 Yaf。既然 Yaf 是以高性能著称,PHP7 也是以高性能著称,为何不让强强联合?
## 1\. 编译安装
编译安装首先需要通过 Git 下载源码
首先下载 Yaf 编译安装包,打开([https://github.com/laruence/yaf/releases](https://github.com/laruence/yaf/releases))
~~~
$ > wget -c https://github.com/laruence/yaf/archive/yaf-3.0.6.tar.gz
$ > tar xzvf yaf-3.0.6.tar.gz && cd yaf-3.0.6
$ > phpize
$ > ./configure --with-php-config=/usr/bin/php7/php-config
$ > make
$ > sudo make install
~~~
其中 --with-php-config 为自己的php7的环境安装目录
配置php.ini支持yaf扩展
~~~
vim /etc/php.ini
加入
[yaf]
extension=yaf.so //关键步骤
~~~
重启nginx与php
## 2\. pecl 安装
直接通过 pecl 命令来进行 Yaf 安装,安装成功后会自动配置php.ini文件,[不需要手动加载yaf.so](http://xn--yaf-628d52smb831rnt9dbjlkjs.so/)
`$ > pecl install yaf`
安装完成后使用命令来检查安装是否成功
`$ > php --ri yaf`
得到 Yaf 版本号和配置细节则说明安装成功,如下
~~~
$ > php --ri yaf`
yaf
yaf support => enabled
Version => 3.0.6
Supports => http://pecl.php.net/package/yaf
Directive => Local Value => Master Value
yaf.library => no value => no value
yaf.action_prefer => Off => Off
yaf.lowcase_path => Off => Off
yaf.use_spl_autoload => Off => Off
yaf.forward_limit => 5 => 5
yaf.name_suffix => On => On
yaf.name_separator => no value => no value
yaf.st_compatible => Off => Off
yaf.environ => product => product
yaf.use_namespace => Off => Off
~~~
## 3\. windows下安装
打开:[http://pecl.php.net/package/yaf](http://pecl.php.net/package/yaf)找到3.0.6 点击下载 windows的 dll文件
放入到你windows版本里的 ext目录下
编辑php.ini 加入php\_yaf.dll 并且配置对应的信息
![](https://box.kancloud.cn/f69c90130493fe392538d01f31ffb873_300x135.png)
完成上面的步骤后,重启一下php\\nginx\\apache环境 再重新查看phpinfo()
看到YAF就完成了环境配置了;
![](https://box.kancloud.cn/ade18c3e5464c3e78b01fb2959e193ea_990x378.png)
- 序言
- 安装 Yaf
- Yaf基础知识
- 1.运行流程
- 2.YAF架构
- 3.目录结构
- 4.Yaf的配置
- 5.Yaf的Bootstrap
- 6.Yaf的多模块配置
- 7.Yaf中使用命名空间
- 本书框架配置
- 1.框架目录结构
- 2.数据库配置
- 3.缓存配置
- 4.全局配置
- 5.公共助手函数
- 请求与响应
- 1.请求-Request
- 2.响应-Response
- 数据库操作
- 使用think-orm
- 接口开发
- 1.RESTful接口设计
- 2.Yar RPC接口设计
- 数据验证
- 数据验证 - validate
- 网页开发
- Session
- Cookie
- 路由设置
- 工具类
- 1.Rsa加密
- 2.Random快速生成随机数
- 3.Cache - 缓存
- 4.Weapp - 微信小程序类
- 5.Qiniu - 七牛云存储使用
- 6.支付类(微信&支付宝)
- 7.Logs - 日志记录