Mac安装多版本PHP

在mac里面有预装的php和apache,我的本本预装的是php7.1,现在我想配置一个php7.2和php7.3加nginx或者apache+php7.1+7.2+7.3

一、配置系统预装的php7.1+apache2.4环境(如果不需要apache服务器则略过)

启动,停止和重启apache

sudo apachectl start
sudo apachectl stop
sudo apachectl restart

sudo apachectl start 启动apache后在浏览器中输入 http://localhost,会出现 It works!的页面
此时apache已经可以用了
然后输入命令打开配置文件

sudo vim /private/etc/apache2/httpd.conf

找到下图中的代码把前面的#去掉,修改完配置记得重启apache


image.png

好了,现在我们进入/Library/WebServer/Documents/新建一个index.php

<?php
    phpinfo();

此时应该就可以打印出php的信息了。配置虚拟域名啥的在这就不详细说了,不知道的可以评论区留言

二、安装php7.2+php7.3+nginx

mac安装软件不得不说的一个神器homebrew
安装过得跳过,没安装过运行下面的命令就行了
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

1、nginx

安装好homebrew,我们用下面命令先安装nginx来配置系统预装的php7.1

brew install nginx

如果提示安装xcode-select就点安装
安装好nginx后我们先启动它

brew services start nginx
// 或者
sudo nginx -s reload | stop | reopen

启动nginx的时候可能会提示找不到nginx.pid

nginx: [error] open() "/usr/local/Cellar/nginx/1.15.8/logs/nginx.pid" failed (2: No such file or directory)

解决办法:执行下面命令后再重新执行启动命令

nginx -c /usr/local/etc/nginx/nginx.conf 

然后浏览器输入localhost能显示出nginx的欢迎页就好了


image.png
2、nginx安装好后配置系统预装的php7.1

执行下面命令拷贝生成php-fpm.conf

sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf

修改php-fpm.conf中的 error_log,修改为下面这个

error_log = /usr/local/var/log/php-fpm.log

不修改启动 php-fpm 时会报错:

ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)

去掉php-fpm.conf配置文件最下面 include=/private/etc/php-fpm.d/*.conf 前面的注释执行下面命令

sudo cp /private/etc/php-fpm.d/www.conf.default /private/etc/php-fpm.d/www.conf

修改好了后记得修改nginx.conf

sudo vim /usr/local/etc/nginx/nginx.conf

加上默认执行的index.php和去掉下面圈出的注释(对了,忘记说了,listen 8080记得要改成80,如果你喜欢用8080就不用改)

fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

改为

fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
image.png

这些做完了后重新启动nginx然后启动php-fpm就行了
sudo php-fpm 命令就可以启动 php-fpm,停止命令下面说。
现在nginx和php-fpm都启动了,在/usr/local/var/www 新建index.php

<?php
    phpinfo();

浏览器输入localhost即可打印php信息

3、php7.2

执行下面命令安装php7.2

brew install php@7.2

安装完成后输入php -v依旧还是显示7.1版本,不要急,我们先把新装的php加入环境变量

sudo vim ~/.bash_profile

# 下面两段添加进去
export PATH="/usr/local/Cellar/php@7.2/7.2.15/bin:$PATH"
export PATH="/usr/local/Cellar/php@7.2/7.2.15/sbin:$PATH"

# 保存文件后,source下这个文件,使刚刚添加的环境变量生效
source ~/.bash_profile

这个时候你在执行php -v就会显示你版本7.2了
但是这不是我们想要,因为php7.1被覆盖了
我们只要修改下

/usr/local/Cellar/php@7.2/7.2.15/bin目录下的php更名为php72
/usr/local/Cellar/php@7.2/7.2.15/sbin目录下的php-fpm更名为php-fpm72

然后终端查看如下


image.png

现在nginx如何在两个php版本中切换呢?
很简单。
只需要把开始启动的php-fpm干掉启动php-fpm72就行,干掉php-fpm命令如下

# 开启和关闭 php-fpm
sudo php-fpm
sudo killall php-fpm

# 开启和关闭 php-fpm72    // ps:-D 是以守护进程开启
sudo php-fpm72 -D
sudo killall php-fpm72

php7.3版本安装重复php7.2的安装方法

最后

假如有两个项目需要同时运行两个版本的话只需要修改一个php的启动端口号改成9001就行,nginx配置虚拟域名的时候记得也要改,我就不截图一步步教了,因为我自己也没有改

apache 切换php版本的话修改 /private/etc/apache2/httpd.conf 中的配置

LoadModule php7_module libexec/apache2/libphp7.so 
#后面的路径改掉成
/usr/local/Cellar/php@7.2/7.2.15/lib/httpd/modules/libphp7.so

然后重启apache 就可以了

————————————————
版权声明:本文为CSDN博主「烟雨弥漫了江南」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010324331/article/details/87377128

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354