«

MAC php 多版本安装

AzerothSong 发布于 阅读:362 php


在开发和生产环境中,我们可能需要同时运行多个版本的 PHP 来满足不同项目的需求。以下是 PHP 多版本安装的一些常见场景和解决方案:

1、使用工具进行管理

实际使用中,PHP 的版本管理工具通常是 phpbrew(好像还有phpenv)。下面是如何在 macOS 上安装和使用 phpbrew 的步骤:

安装 PHPBrew

确保你已经安装了 Homebrew
如果你还没有安装 Homebrew,可以使用以下命令进行安装:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
使用 Homebrew 安装 phpbrew:
brew install phpbrew
初始化 PHPBrew
phpbrew init

然后,按照提示将初始化代码添加到你的 shell 配置文件(例如 ~/.bash_profile 或 ~/.zshrc)中。

重新加载shell配置更新你的 shell 配置:
    source ~/.bash_profile
    # 或者 一般都会
    source ~/.zshrc
查看可用的 PHP 版本
    phpbrew known
安装 PHP 版本 比如安装 PHP 8.1.0,你可以使用以下命令:
    phpbrew install 8.1.0 +default

这里的 +default 是安装默认的扩展。你可以根据需要添加扩展。

切换 PHP 版本

安装完成后,你可以切换到你安装的 PHP 版本,例如:

    phpbrew switch 8.1.0
查看当前使用的 PHP 版本,可以使用:
    php -v

注意事项
在使用 PHPBrew 时,确保你的系统上已经安装了相关的依赖项,例如 autoconf、bison、re2c 等,具体依赖项可以在 PHPBrew 的文档中找到。
如果你在使用过程中遇到问题,可以查看 PHPBrew 的 GitHub 页面,里面有详细的说明和问题解决方案。

直接安装php版本然后homebrew切换

添加 PHP Tap 使用以下命令:
    brew tap shivammathur/php
安装多个 PHP 版本

你可以根据需要安装不同的 PHP 版本,例如:

    brew install shivammathur/php/php@7.4
    brew install shivammathur/php/php@8.0
    brew install shivammathur/php/php@8.1
切换 PHP 版本

使用 brew link 命令来切换当前使用的 PHP 版本。例如,如果你想使用 PHP 8.0,可以使用以下命令:

    brew unlink php@7.4
    brew link --force --overwrite php@8.0
验证 PHP 版本

你可以通过以下命令来验证当前的 PHP 版本:

    php -v
常见问题

如何查看已安装的 PHP 版本?你可以使用以下命令查看已安装的 PHP 版本:

    brew list | grep php
卸载 PHP 版本

如果你需要卸载某个 PHP 版本,可以使用:

    brew uninstall php@7.4

docker

需要安装 Docker 和 Docker Compose

参照mac安装使用docker

创建项目目录

创建一个新的项目目录,假设名称为 php_multi_version。

mkdir php_multi_version
cd php_multi_version
创建 Dockerfile

为每个 PHP 版本创建一个 Dockerfile。在这个示例中,我们将使用 PHP 7.4 和 PHP 8.0。
创建 Dockerfile-7.4:

# Dockerfile-7.4
FROM php:7.4-fpm
复制项目代码到容器
    COPY . /var/www/html/

创建 Dockerfile-8.1:

# Dockerfile-8.1
FROM php:8.1-fpm
复制项目代码到容器
    COPY . /var/www/html/
创建 docker-compose.yml 文件

在项目根目录下创建 docker-compose.yml 文件:

version: '3.8'

services:
  php74:
    build:
      context: .
      dockerfile: Dockerfile-7.4
    ports:
      - "8080:80"

  php80:
    build:
      context: .
      dockerfile: Dockerfile-8.0
    ports:
      - "8081:80"
添加 PHP 代码

在项目目录下创建一个简单的 PHP 文件 index.php,内容如下:

<?php
phpinfo();
启动 Docker Compose

在项目根目录下运行以下命令来构建和启动容器:

    docker-compose up --build

根据配置文件访问本地地址就能查看对应的php版本了

    http://localhost:8080
    http://localhost:8081

虽然homebrew安装的时候有点麻烦 但是我还是使用的homebrew因为老早使用的homebrew 不想换了

homebrew MAC php