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
在这里插入图片描述
好了,现在我们进入/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的欢迎页就好了
在这里插入图片描述

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;

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

<?php
    phpinfo();

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

2、php7.2

执行下面命令安装php7.2

brew install [email protected]

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

sudo vim ~/.bash_profile

# 下面两段添加进去
export PATH="/usr/local/Cellar/[email protected]/7.2.15/bin:$PATH"
export PATH="/usr/local/Cellar/[email protected]/7.2.15/sbin:$PATH"

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

这个时候你在执行php -v就会显示你版本7.2了
但是这不是我们想要,因为php7.1被覆盖了
我们只要修改下
/usr/local/Cellar/[email protected]/7.2.15/bin目录下的php更名为php72
/usr/local/Cellar/[email protected]/7.2.15/sbin目录下的php-fpm更名为php-fpm72
然后终端查看如下
在这里插入图片描述
现在nginx如何在两个php版本中切换呢?
很简单。
只需要把开始启动的php-fpm干掉启动php-fpm72就行,干掉php-fpm命令如下

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

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

最后

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

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

LoadModule php7_module libexec/apache2/libphp7.so 
#后面的路径改掉成
/usr/local/Cellar/[email protected]/7.2.15/lib/httpd/modules/libphp7.so

然后重启apache 就可以了

发布了41 篇原创文章 · 获赞 21 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/u010324331/article/details/87377128
今日推荐