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
创建项目目录
创建一个新的项目目录,假设名称为 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 不想换了