php多版本共存

环境

  • mac Cataline下使用brew方式安装
  • nginx
  • php5.6和php7.2

安装brew

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

安装php

在 Mac Mojave 系统之后,brew 中移除了 和 ,使用 brew search php 搜索出来的php版本最低是 [email protected] ,所以有相关需求的可以按照下面方法安装。
我们这里安装 和 为例

  1. 添加第三方仓库
brew tap exolnet/homebrew-deprecated

查看是否添加上第三方库

brew tap
brew查看是否添加第三方库.png

搜索可安装php版本

brew search php
搜索可安装php版本.png
  1. 安装[email protected]
brew install [email protected]
  1. 安装[email protected]
brew instatll [email protected]

查看php是否安装成功

brew list | grep php

查看php是否安装成功

[email protected][email protected]代表安装成功
启动php-fpm

brew services start [email protected]
brew services start [email protected]

查看php-fpm进程

brew services restart [email protected]

查看php-fpm进程.jpg

可以看到[email protected][email protected]两个共存

配置php-fpm.conf修改

首先分别查看 和的php-fpm.conf 文件位置

brew info [email protected]
brew info [email protected]
查看[email protected] php-fpm配置文件位置.jpg

查看[email protected] php-fpm配置文件位置.jpg

可以看到[email protected]的php-fpm配置文件地址为/usr/local/etc/php/5.6/
可以看到[email protected]的php-fpm配置文件地址为/usr/local/etc/php/7.2/
分别修改[email protected][email protected]的php-fpm.conf里listen

listen = 127.0.0.1:9000 //[email protected] 的 php-fpm.conf 修改
listen = 127.0.0.1:9001 //[email protected] 的 php-fpm.conf 修改

配置nginx.conf修改

location ~ \.php$ {
           fastcgi_pass 127.0.0.1:9000;
           fastcgi_index index.php;
           fastcgi_param SCRIPT_FILENAME /Users/xxuuq/www/ZH/btm$fastcgi_script_name;
           include fastcgi_params;
           try_files $uri =404;
       }

项目中使用什么版本php只要修改fastcgi_pass项,修改为对应的php版本即可。

重启nginx和php-fpm

brew services restart nginx
brew services restart [email protected]
brew services restart [email protected]

php扩展安装

安装扩展的方式多种,这里介绍编译安装后在php.ini设置extension扩展。
不同php版本安装扩展的版本也是不同的,
比如安装redis扩展,根据php版本下载redis包并解压进入解压目录

依次执行

phpize
./configure --with-php-config=/usr/local/opt/[email protected]/bin/php-config //--with-php-config 不同php版本不同
make && make install

编译好的文件在modules目录下 redis.so
查看php扩展目录,phpinfo()extension_dir
比如我的是

extension_dir   /usr/local/lib/php/pecl/20131226

复制出来放到extension_dir目录下,

cp modules/redis.so /usr/local/lib/php/pecl/20131226/

在php.ini中添加设置

extension = /usr/local/lib/php/pecl/20131226/redis.so

重启php-fpm即可。
如果找不到php-config在哪,可以通过find查找

find / -name php-config
composer

composer 因为php版本不同而不能公用,可以在 composer官网 下载 composer.phar保存到本地。
创建别名

vim ~/.bash_profile
//添加如下两行
alias composer5='/usr/local/opt/[email protected]/bin/php  /usr/local/composer/composer.phar'
alias composer7='/usr/local/opt/[email protected]/bin/php  /usr/local/composer/composer.phar'

使设置的别名生效

source ~/.bash_profile

使用时

composer5 install ***
composer7 install ***

你可能感兴趣的:(php多版本共存)