美文网首页程序员
Yaf 学习小记

Yaf 学习小记

作者: 半亩房顶 | 来源:发表于2018-08-30 15:31 被阅读2次

工作中需要用到,提前学习下。以此文记录下遇到的问题或者知识点

安装 && 配置

1、phpize 作用

2、m4作用

m4 是 POSIX 标准中的一部分,所有版本的 UNIX 下都可用。虽然这种语言可以单独使用,但大多数人需要 m4 仅仅是因为 GNU autoconf 中的 “configure” 脚本依赖它。宏处理器(或预处理器)一般用作文本替换工具。最终用户经常会用它来处理要反复使用的文本模板,典型的是用于编程工具,还会用于文本编辑和文字处理工具。

m4 是一种宏处理器,它扫描用户输入的文本并将其输出,期间如果遇到宏就将其展开后输出。宏有两种,一种是内建的,另一种是用户定义的,它们能接受任意数量的参数。除了做展开宏的工作之外,m4 内建的宏能够加载文件,执行 Shell 命令,做整数运算,操纵文本,形成递归等等。m4 可用作编译器的前端,或者单纯作为宏处理器来用。

参考文章:
作者:garfileo 作者主页
本文整理自:https://segmentfault.com/a/1190000004104696
整理者:Timekeeperl csdn博客

3、phpize 时 m4 报错 need GNU m4 1.4 or later: /usr/local/bin/m4

检查问题时候发现查找到的m4已经无法正常使用


m4报错

网上找寻了一些方法,尝试了更新,无果

brew upgrade m4

然后发现系统内是存在一个1.4.8版本的m4的,位置如下:

usr/local/Cellar/m4/1.4.18

遂查了下改变这个配置文件的位置:

/usr/local/bin/autom4te

此文件的第90行处,是m4的路径配置,将m4的路径设置为

/usr/local/Cellar/m4/1.4.18/bin/m4

至此 done

4、make 时 pcre.h 报错

/usr/include/php/ext/pcre/php_pcre.h:29:10: fatal error: 'pcre.h' file not found
#include "pcre.h"
         ^~~~~~~~
1 error generated.
make: *** [routes/yaf_route_regex.lo] Error 1

查了下原因:没有安装pcre,或者安装pcre的目录不对

brew install pcre

解决

5、make install 报错

cp: /usr/lib/php/extensions/no-debug-non-zts-20160303/#INST@62550#: Operation not permitted

Mac OS Sierra 安装PHP扩展,在make install 的时候,出现类似

cp: /usr/lib/php/extensions/no-debug-non-zts-20131226/#INST@12567#: Operation not permitted
make: *** [install-modules] Error 1

的错误,是因为是OSX 10.11 El Capitan开始,新添加了一个新的安全机制叫系统完整性保护System Integrity Protection (SIP),所以对于目录
/System
/sbin
/usr
不包含(/usr/local/)
仅仅供系统使用,其它用户或者程序无法直接使用,而我们的/usr/lib/php/extensions/刚好在受保护范围内。

解决办法是

禁掉SIP保护机制:

重启系统
按住Command + R   (重新亮屏之后就开始按,象征地按几秒再松开,出现苹果标志,ok)
菜单“实用工具” ==>> “终端” ==>> 输入csrutil disable;执行后会输出:Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect.
重启系统

禁止掉SIP后,就可以顺利的安装了,当然装完了以后记得重新打开SIP,方法同上,只是命令是csrutil enable。当然,就算关掉了SIP保护机制,你依然需要root权限将yaf.so拷贝进去。

相关文章

  • Yaf 学习小记

    工作中需要用到,提前学习下。以此文记录下遇到的问题或者知识点 安装 && 配置 1、phpize 作用 2、m4作...

  • yaf路由

    yaf有6种路由模式 ————Yaf_Route_Static,Yaf_Route_Simple,Yaf_Rout...

  • Yaf 安装配置 Mac

    参考: https://github.com/laruence/yaf 安装 1.下载Yaf包 下载Yaf包 ht...

  • PHP-Yaf执行流程

    如何构建框架目录(使用Yaf框架自带的代码生成工具) php-yaf-src/tools/cg/yaf_cg sa...

  • windows下扩展yaf 生成yaf框架目录结构

    要使用YAF首先要开启PHP的yaf扩展,下载扩展包:yaf扩展下载地址:https://pecl.php.net...

  • yaf-example

    yaf是鸟哥用C语言编写的一个PHP框架,yaf文档地址:http://yaf.laruence.com/manu...

  • yaf路由源码

    yaf router

  • Ubuntu20.04 安装Yaf 3.2.3

    环境情况 Ubuntu 20.04 PHP7.3.5 Nginx/1.18.0 1:安装Yaf 扩展 下载 yaf...

  • PHP扩展 -- Yaf

    概述 学习api过程中了解到yaf框架,便打算安装使用一下。在安装php的yaf扩展过程中遇到的一些坑,在此记录一...

  • YAF框架学习记录

    现状 毕业后就来到W公司工作,随着接触的业务越多,接触到代码风格越来越多,然后有时候可能是工作比较忙、业务比较多的...

网友评论

    本文标题:Yaf 学习小记

    本文链接:https://www.haomeiwen.com/subject/nhirwftx.html