简介

Yaf框架想必大家都有所了解,它是一个开源的高性能的PHP框架

官网地址:https://www.php.net/manual/zh/book.yaf.php

Yaf开发文档:https://www.laruence.com/manual/

之前有使用Yaf框架开发过应用,近期有在整理自己的技术栈,怕长时间不弄,直接都还回去了,所以决定在这里写下自己折腾的方法,怕自己老了忘记了。如果能帮助到大家,那就再好不过了。

环境

配置环境就是我们最熟悉不过的LNMP(LAMP暂不在这里赘述,如有哪位同学需要,单独找我,咱俩私聊,嘿嘿!)

LNMP顾名思义就是(Linux+Nginx+Mysql+PHP),这是一套经典组合拳

网上有很多这方面的环境搭建工具哈,例如(宝塔,phpstudy,...),很多哈,当然你自己如果想玩玩原生的,也可以自己DIY一下

我这里主要以phpstudy为主,我觉得这个还是很不错的,一直再更新,越来越完善

phpstudy的主站点:https://www.xp.cn/

我们准备一台Linux环境的服务器,我这里是装的CentOS 7.5 64bit 系统,其他版本的也都OK哈,看你对哪个系统的命令更为熟悉,你就用哪个就好了

打开 https://www.xp.cn/linux.html#install-show 这个网址

找到对应的系统的安装脚本安装完成后,会自动给出你运维的网址

之后一些phpstudy内部的操作和xp命令我就不在这里赘述了,大家直接去phpstudy的官网看文档就OK了

装好这些基础的内容,我们就要开始进入正题了

步骤

1.找准你要下载的Yaf的框架版本

2.下载Yaf包到本地目录

3.解压Yaf包

4.执行phpize命令

5.配置Yaf包要关联的php版本

6.编译安装

实施

1.找准你要下载的Yaf的框架版本(这里以3.0.8为例)

Yaf包地址:https://pecl.php.net/package/yaf

包里有Linux版本和Windows版本的

Linux版本只有一个包,选对版本即可

需要注意的只有一点,就是你下载的Yaf包最低支持的php的版本是多少的,如果不匹配肯定是不行的

比如这个,Yaf3.0.8 支持的是PHP-7.3及以上的,那你安装的PHP必须大于等于PHP 7.3,否则肯定运行不成功。

Windows版本里面包含了Thread Safe版本和Thread No Safe版本,有人要问了,这个下载哪个版本我咋确定呢,下图就告诉你如何选择

你运行phpinfo();

找到这个,如果Thread Safety 的值是disabled,则是非线程安全版本,反之则是下载线程安全版本

好了,原归正传,继续下一步

2.下载Yaf包到本地目录

cd /opt
wget http://pecl.php.net/get/yaf-3.0.8.tgz

3.解压Yaf包,进入解压后的文件夹

tar zxvf yaf-3.0.8.tgz
cd yaf-3.0.8

4.执行phpize命令

phpize

如果此处报错了,说明没有安装phpize包,执行以下命令来安装

-- 安装phpize包
yum -y install php-devel

安装完成后,重新执行phpize即可

5.配置Yaf包要关联的php版本

重点来了哦

-- $PHP_BIN是个变量(php的bin目录/usr/local/phpstudy/soft/php/php-7.3.8/bin)
./configure --with-php-config=$PHP_BIN/php-config

注意看注释,我这里替换变量后的结果为

./configure --with-php-config=/usr/local/phpstudy/soft/php/php-7.3.8/bin/php-config

根据你自己安装的php的路径来进行修改即可,如果还不知道,你就私信我吧

6.编译安装

make && make install

到此Yaf的框架就安装成功了

7.在phpstudy的软件管理中,找到php7.3.8,对它进行设置

扩展中可以找到yaf,勾选即可,如果已经勾选了,则先取消勾选,再勾选(这一步的目的是防止linux上可能安装了多个版本的yaf框架,清掉之前的配置,再重新设置)

最后重启Nginx服务

到这里应该就大功告成了,如果遇到了奇怪的问题,百度一般都能帮你解决,解决不掉了,欢迎找我交流。

最新文章

  1. [LeetCode] Number of Segments in a String 字符串中的分段数量
  2. 浅析Hadoop文件格式
  3. Mac OS X 中vim开启配色和git补全
  4. [转] - SendMessage、PostMessage原理
  5. AtomicInteger类保证线程安全的用法
  6. Python 脚本生成测试数据,Python生成随机数据,Python生成大量数据保存到文件夹中
  7. page59-一种能够累加数据的ADT(可视化版本) [可用于数据挖掘可视化工具]
  8. Android AlarmManager的取消
  9. vim配置vimrc详解
  10. js的事件属性方法一览表
  11. C#access数据库操作
  12. C语言2
  13. HTML5----input-datalist输入框自己主动提示功能
  14. unity3D插件开发——前篇
  15. 影响JavaScript应用可扩展性因素
  16. 《剑指offer》整数中1出现的次数
  17. CSU1333最短路问题SPFA
  18. 解决Docker容器时区不一致的问题
  19. Android:AndroidManifest.xm中xmlns的作用
  20. vue2.0 父子组件数据传递prop

热门文章

  1. Day009 冒泡排序
  2. Problem: package docker-ce-3:18.09.9-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
  3. 【Redis】启动redis提示Could not connect to Redis at 127.0.0.1:6379: Connection refused 已解决
  4. Asp.NetCore Web开发之创建项目
  5. 【近取 key】Alpha 阶段任务分配
  6. golang:函数总结
  7. 【转载】在Linux系统下用dd命令制作ISO镜像U盘启动盘
  8. CentOS7开放端口以及常用的使用命令记录整理
  9. mysql不停库恢复
  10. 国产龙芯3A3000处理器评测:与英特尔差距明显