如何使用brew将mac本地升级至php7

前言

转发请附上原文:http://blog.csdn.net/u011957758/article/details/77987026
from 咖啡色的羊驼

由于公司已经全线升级php7,所以将本地的环境进行升级了下。
由于早年乱跑百度搜索的各种一键安装脚本,导致此次升级困难重重,但发现问题并解决之后,发现升级步骤,还是很清晰的。

记录一下sb的一天

正文

1.使用brew进行升级(已安装或者知道使用姿势请跳过)

安装命令

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

使用姿势:

搜索软件:brew search 软件名,如brew search wget
安装软件:brew install 软件名,如brew install wget
卸载软件:brew remove 软件名,如brew remove wget

是的,会这三个够了。

2.安装php7

无脑依次执行以下命令:

brew unlink php56(之前安装了php56版本需要先去除一下软链接)
brew install php70 
brew install php70-igbinary.ini --build-from-source
brew install php70-memcache --build-from-source
brew install php70-redis --build-from-source
brew install php70-memcache --build-from-source
brew link php70

修改Apache配置文件,备注掉老的,加上新的(169行左右)

#LoadModule php5_module /usr/local/Cellar/php56/5.6.10/libexec/apache2/libphp5.so
LoadModule php7_module /usr/local/Cellar/php70/7.0.22_14/libexec/apache2/libphp7.so

apache的配置文件加上:

sudo vim /etc/apache2/httpd.conf

文件尾部追加:
<FilesMatch  .php$>
    SetHandler application/x-httpd-php
</FilesMatch>

再到apache的other目录加个php7的配置文件:

cd /etc/apache2/other
vim php7.conf

内容:
<IfModule php7_module>
	AddType application/x-httpd-php .php
	AddType application/x-httpd-php-source .phps

	<IfModule dir_module>
		DirectoryIndex index.html index.php
	</IfModule>
</IfModule>

好了,再重启一下本地自带的apache就可以了(nginx没试过,如果是brew安装的nginx应该也一样重启就好了)

sudo /usr/sbin/apachectl restart

然后验证下:

$ php -v
PHP 7.0.22 (cli) (built: Sep 14 2017 14:54:20) ( NTS DEBUG )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

3.关于全程使用brew安装的注意点

首先必须承认brew确实挺方便的,对于目录的结果以及管理都是自动化部署,但是一些关键的配置文件夹和用习惯了lnmp那一套的同学来说,比较懵。(我也是用习惯了lnmp,趁机正好重新认识了下brew)

1.php

扩展目录:/usr/local/etc/php/7.0/conf.d/
安装文件目录:/usr/local/Cellar/php70/
配置文件目录:/usr/local/etc/php/7.0/

需要注意的是:brew的一套已经将扩展目录下的.so模块加载到php中了,不需要像linux中那样再去php.ini配置extension_dir等配置。
(本人就是傻傻的走了一波linux下加扩展的流程。。。。)

2.apache重启

sudo /usr/sbin/apachectl restart

注意点:不懂怎么搞的,本地好像装了两个apache,彻底搞懵。之前一直是用命令:sudo apachectl restart。突然不管用了。后面才发现原因,懵的一天。

4.一些坑与经验

1.不应该随便使用线上的一键安装脚本啥的,一定要看一下原理,和跑了之后的目录组成,不然真的会哭。。。。

2.当认不准php相关的关键目录是哪几个,可以通过phpinfo()进行信息查询。

如果你觉得有收获~可以关注我的公众号【咖啡色的羊驼】~第一时间收到我的分享和知识梳理~
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值