美文网首页
php多版本共存

php多版本共存

作者: xxuuq | 来源:发表于2019-10-09 17:58 被阅读0次

环境

  • 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 中移除了 \color{red}{php5.6}\color{red}{php7.0} ,使用 brew search php 搜索出来的php版本最低是 php@7.1 ,所以有相关需求的可以按照下面方法安装。
我们这里安装\color{red}{php5.6}\color{red}{php7.2} 为例

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

查看是否添加上第三方库

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

搜索可安装php版本

brew search php
搜索可安装php版本.png
  1. 安装php@5.6
brew install php@5.6
  1. 安装php@7.2
brew instatll php@7.2

查看php是否安装成功

brew list | grep php
查看php是否安装成功
php@5.6php@7.2代表安装成功
启动php-fpm
brew services start php@5.6
brew services start php@7.2

查看php-fpm进程

brew services restart php@5.6
查看php-fpm进程.jpg
可以看到php@5.6php@7.2两个共存

配置php-fpm.conf修改

首先分别查看\color{red}{php5.6}\color{red}{php7.2}php-fpm.conf 文件位置

brew info php@5.6
brew info php@7.2
查看php@5.6 php-fpm配置文件位置.jpg
查看php@7.2 php-fpm配置文件位置.jpg

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

listen = 127.0.0.1:9000 //php@5.6 的 php-fpm.conf 修改
listen = 127.0.0.1:9001 //php@7.2 的 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 php@5.6
brew services restart php@7.2

php扩展安装

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

依次执行

phpize
./configure --with-php-config=/usr/local/opt/php@5.6/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/php@5.6/bin/php  /usr/local/composer/composer.phar'
alias composer7='/usr/local/opt/php@7.2/bin/php  /usr/local/composer/composer.phar'

使设置的别名生效

source ~/.bash_profile

使用时

composer5 install ***
composer7 install ***

相关文章

网友评论

      本文标题:php多版本共存

      本文链接:https://www.haomeiwen.com/subject/dktgpctx.html