Mac系统下PHP7.2和Yaf框架安装
目标
1、把Mac自带的PHP8.0版本降级到PHP7.2
2、PHP7.2下Yaf框架的安装
…
执行步骤
brew 安装PHP7.2
# brew搜索所有PHP版本安装包
brew search php
# 安装PHP7.2
brew install php@7.2
(命令执行结果请参考本文下方参考说明资料:php7.2安装完成结果)
完善PHP7.2配置
# 修改环境变量
echo 'export PATH="/usr/local/opt/php@7.2/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/php@7.2/sbin:$PATH"' >> ~/.zshrc
# 使修改环境变量生效
source ~/.zshrc
# 重启PHP-FPM
# 关闭php-fpm
sudo pkill php-fpm
# 启动php-fpm
php-fpm --fpm-config /usr/local/etc/php/7.2/php-fpm.conf &
# 查看PHP版本,检查安装是否成功
php --version
安装yaf扩展
# 下载 yaf 扩展包
wget http://pecl.php.net/get/yaf-3.0.7.tgz
# 解压
tar -zxvf yaf-3.0.7.tgz
# 进入目录
cd yaf-3.0.7
# 生成扩展编译信息
phpize
# 指定配置文件
./configure --with-php-config=/usr/local/opt/php@7.2/bin/php-config
(注意:需要修改成本地路径)
# 编译 & 安装
make && make install
(命令执行结果请参考本文下方参考说明资料:Yaf框架安装完成结果)
# 新建yaf配置文件
brew 的安装会把配置默认写在 php.ini 统计的 conf.d 目录下,推荐也写在这里,以后方便查找安装了哪些扩展。 安装完成后,在 conf.d 下创建 ext-yaf.ini
(ext-yaf.ini请参考本文下方参考说明资料:Yaf配置文件内容)
# 重启PHP
sudo pkill php-fpm
php-fpm --fpm-config /usr/local/etc/php/7.2/php-fpm.conf &
# 确认Yaf框架安装成功
php -i | grep yaf
(命令执行结果请参考本文下方参考说明资料:php7.2安装完成结果)
# 参考文章
http://blog.yuwanjun.com/index.php/archives/147.html
Todo:yymb项目搭建
参考说明资料
命令 & 配置文件路径
# 设置PHP7.2开机启动
brew services start php@7.2
# php7.2配置文件路径
The php.ini and php-fpm.ini file can be found in:
/usr/local/etc/php/7.2/
# Yaf扩展配置目录
/usr/local/etc/php/7.2/conf.d
Yaf配置文件内容
[yaf]
// 下边的路径根据自己编译扩展后返回的实际路径填写
extension = "/usr/local/Cellar/php@7.2/7.2.34_4/pecl/20170718/yaf.so"
// 是否开启命名空间,根据自己情况设置即可,1 为开启,0 为关闭
yaf.use_namespace = 1
// 设置默认情况下 yaf 读取的环境配置
yaf.environ = 'product'
// 是否缓存项目配置
yaf.cache_config = 0
// 开启后缀。为 1 时,类名将以 XxxModel.php、XxxController.php 模式加载
yaf.name_suffix = 1
//路径信息中的目录部分是否转换成小写
yaf.lowcase_path = 1
Yaf框架安装完成结果
Installing shared extensions:
/usr/local/Cellar/php@7.2/7.2.34_4/pecl/20170718/
php7.2安装完成结果:
To enable PHP in Apache add the following to httpd.conf and restart
Apache:
LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so<FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>
Finally, check DirectoryIndex includes index.php
DirectoryIndex index.php index.htmlThe php.ini and php-fpm.ini file can be found in:
/usr/local/etc/php/7.2/php@7.2 is keg-only, which means it was not symlinked into
/usr/local, because this is an alternate version of another formula.If you need to have php@7.2 first in your PATH, run: echo ‘export
PATH="/usr/local/opt/php@7.2/bin: P A T H " ′ > > / . z s h r c e c h o ′ e x p o r t P A T H = " / u s r / l o c a l / o p t / p h p @ 7.2 / s b i n : PATH"' >> ~/.zshrc echo 'export PATH="/usr/local/opt/php@7.2/sbin: PATH"′>> /.zshrcecho′exportPATH="/usr/local/opt/php@7.2/sbin:PATH"’ >> ~/.zshrcFor compilers to find php@7.2 you may need to set: export
LDFLAGS="-L/usr/local/opt/php@7.2/lib" export
CPPFLAGS="-I/usr/local/opt/php@7.2/include"To have launchd start php@7.2 now and restart at login: brew
services start php@7.2 Or, if you don’t want/need a background
service you can just run: php-fpm ==> Summary 🍺
/usr/local/Cellar/php@7.2/7.2.34_4: 514 files, 75MB