# 安裝 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 并且配置對應的信息

完成上面的步驟后,重啟一下php\\nginx\\apache環境 再重新查看phpinfo()
看到YAF就完成了環境配置了;

- 序言
- 安裝 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 - 日志記錄