前言
转发请附上原文: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()进行信息查询。
如果你觉得有收获~可以关注我的公众号【咖啡色的羊驼】~第一时间收到我的分享和知识梳理~