当前位置:首页 > 编程语言 > 正文内容

管理多个PHP版本的5种 ***

a811625531年前 (2024-10-30)编程语言13

在开发 PHP 应用程序时,管理多个 是一项常见的挑战,由于框架依赖性和兼容性要求不同,应用程序往往需要不同的版本。虽然在不同 PHP 版本之间切换可能令人生畏,尤其是在系统层面,但有几种工具可以简化这一过程。

在本文中,我们将探讨管理多个 PHP 版本的有效解决方案,帮助您选择合适的工具来简化开发工作流程。话不多说,直入正题。

1.  使用 Homebrew

优点:

  • 易于安装和管理多个 PHP 版本。
  • 使用简单的命令即可快速切换版本。
  • 定期更新,维护良好。
  • 可在 macOS 和 Linux 上无缝运行。

缺点:

  • 仅适用于 macOS 和 Linux。
  • 如果你不熟悉使用 CLI,更新可能会很慢,而且比较混乱。

MacOS 和 Linux 上流行的软件包管理器 简化了 PHP 版本管理。从官方网站安装 Homebrew 后,按照以下步骤设置并切换 PHP 版本:

安装不同的 PHP 版本

要使用 Homebrew 管理多个 PHP 版本,我们首先要进入 。该版本库提供了可以安装的各种 PHP 版本:

brew tap shivammathur/php

一旦访问了该版本库,就可以安装所需的 PHP 版本了。下面是安装 PHP 7.4、8.2 和最新版本(目前为 8.3)的 *** :

brew install shivammathur/php/php@7.4
brew install shivammathur/php/php@8.2
brew install shivammathur/php/php

您可以根据项目需要任意组合安装版本。每个版本都将单独存储在系统中。

切换 PHP 版本

虽然 Homebrew 允许你同时安装多个 PHP 版本,但你的系统一次只能通过它的 PATH 使用一个版本。这就好比在你的工具箱中安装了多个 PHP 版本,但只有一个可以作为你的活动工具。

假设当前运行的是 PHP 8.3,但现在需要切换到 PHP 7.4。首先,取消当前版本的链接,将当前活动的 PHP 版本从 PATH 中 “断开”。

brew unlink php

解除当前版本的链接后,可以使用 brew link 命令链接其他版本:

brew link php@7.4

现在,当你运行 php -v 时,它将显示当前的 PHP 版本为 7.4,如下所示。

通过 CLI,Homebrew 可以轻松地在 macOS 和 Linux 上使用多个 PHP 版本。但它也有自己的优缺点。因此,在决定 Homebrew 是否适合你时,请考虑以下几点。

2. 使用 PHP Monitor

优点:

  • 界面直观、用户友好。
  • 只需点击几下,即可轻松安装和管理 PHP 版本。
  • 只需单击即可快速切换版本。

缺点:

  • 仅适用于 macOS。
  • 需要并依赖 Homebrew 来管理 PHP 安装。
  • 需要 来处理每个项目的 PHP 版本。

是一款轻量级的 macOS 应用程序,旨在帮助开发者轻松管理和切换不同的 PHP 版本。它提供了一个熟悉而直观的用户界面,显示在屏幕顶部,让你只需点击一下就能切换 PHP 版本。该应用程序与 Homebrew 集成,让你无需使用终端即可轻松管理 PHP 设置。

如上图所示,您可以查看机器上安装的 PHP 版本、当前全局激活的版本、访问 PHP 配置文件、查看内存限制等。

该程序还提供了一种简单的 *** ,可以通过 Manage PHP Installations… 菜单安装和更新 PHP 版本。

3. 使用 PHPCtl

优点:

  • 独立于平台且可移植。
  • 为新项目提供额外的 CLI 工具、交互式外壳,以及其他常用的 PHP 工具,如 PHPCS、PHPUnit、RectorPHP 等。

缺点:

  • 需要在系统中安装 Docker。
  • 需要手动配置 .phpctlrc 文件来切换 PHP 版本。
  • Docker 可能比其他解决方案消耗更多资源。

是一款旨在帮助开发人员利用 在不同 PHP 版本之间轻松切换的工具。这使得 PHPCTL 具有可移植性和平 *** 立性,可以在任何支持 Docker 的操作系统上管理 PHP 版本。它还提供了额外的 CLI 工具,如用于新项目的 phpctl create、用于交互式 shell 的 phpctl repl 和用于配置设置的 phpctl init,以及其他方便的功能。

安装 PHPCTL

在开始之前,你需要在系统上安装 Docker。 很好用,如果你使用的是 macOS,你可能更喜欢 。

安装好 Docker 后,就可以使用以下命令安装 PHPCTL 了:

	
/bin/bash -c "$(curl -fsSL https://phpctl.dev/install.sh)"

或者,如果您安装了 Homebrew,可以运行:

brew install opencodeco/phpctl/phpctl

这将把 PHPCTL 的二进制文件下载到系统中并使其可执行,让您可以立即使用该工具。脚本会自动安装 PHPCTL 并设置必要的路径,因此无需手动配置。

安装完成后,可以运行以下命令检查是否安装成功:

phpctl list

该命令将列出当前 PHP 安装的所有子命令和其他信息,如下所示。

您也可以直接运行 phpcomposer 命令。

php -v
composer -v

这两个命令实际上会在 Docker 容器中运行。PHPCTL 会自动将当前目录挂载到容器中,因此你可以像在本地机器上一样处理项目。

切换 PHP 版本

与运行命令或点击用户界面来切换 PHP 版本的 Homebrew 或 PHP Monitor 不同,PHPCTL 需要创建一个 .phpctlrc 文件,并指定要在指定目录下运行的 PHP 版本。

PHP_VERSION=83

在该目录下运行 phpcomposer 时,PHPCTL 将自动切换到 .phpctlrc 文件中指定的 PHP 版本。

就是这样。一旦配置完成,PHPCTL 就会提供无缝的开发体验,非常方便。不过,它也有自己的利弊。

4. 使用 PVM

优点:

  • 易于在 Windows 上安装和管理 PHP 版本。
  • 与 nvm 非常相似,因此熟悉起来既快又简单。

缺点:

  • 仅适用于 Windows。
  • 安装需要手动操作。

PVM 简化了 Windows 上的 PHP 版本管理。PVM 与  类似,但专门针对 PHP,它消除了常见的 Windows PATH 变量问题,简化了不同 PHP 版本之间的切换。

安装 PVM

从下载最新的 PVM 版本。然后,在 C:\Users\YourUsername\.pvm\bin 下创建一个文件夹,并将下载的 pvm.exe 放入该文件夹。

最后,通过系统属性 > 环境变量.pvm\bin 文件夹添加到系统的 PATH 变量中。

安装完成后,就可以使用 PVM 快速、轻松地切换 PHP 版本了。由于 PVM 在很大程度上受到 nvm 的启发,因此命令也很相似。下面是一些开始使用的命令:

使用 PVM 安装 PHP

PVM 使在 Windows 上安装多个 PHP 版本变得更容易。如果需要一个当前未安装在电脑上的版本,可以使用 install 命令:

pvm install 8.2

…将在您的计算机上安装 PHP 8.2。

使用 PVM 切换 PHP 版本

如果要切换到特定的 PHP 版本,请使用 use 命令。您必须至少指定主版本和次版本,如果没有提供,PVM 将选择最新的可用补丁版本。

pvm use 8.2

如果要切换到一个特定的补丁版本,还需包含补丁编号:

pvm use 8.2.3

就这样。PVM 是 Windows 上管理 PHP 版本的好工具,但它也有自己的优点和缺点。

5. 使用 Valet

优点:

  • 在 macOS 上轻松安装和管理 PHP 版本。
  • 为不同项目快速切换 PHP 版本。
  • 与 Laravel 项目无缝协作,并支持 WordPress、Symfony 等其他类型的项目。

缺点:

  • 仅适用于 macOS。
  • 需要并依赖 Homebrew 来管理 PHP 安装。

是专为 macOS 设计的轻量级开发环境,让 PHP 开发变得轻而易举。Valet 的特别之处在于其内置的 PHP 版本管理功能,无需复杂配置,即可在不同项目的 PHP 版本间切换。

安装 Valet

要开始使用,请使用 Composer 将 Valet 安装为全局包:

composer global require laravel/valet

安装完成后,运行 Valet 安装命令:

valet install

使用 Valet 切换 PHP 版本

Valet makes PHP version switching simple with the valet use php@version command. For example:

通过 valet use php@version 命令,Valet 可以简单地切换 PHP 版本。例如

valet use php@8.2

如果当前版本缺失,它会通过 Homebrew 自动安装。

对于特定项目的 PHP 版本,可以在项目根目录下创建一个 .valetrc 文件,其中包含一行 php=php@8.2 。然后,只需运行

valet use

…Valet 将自动切换到 .valetrc 文件中指定的 PHP 版本。

小结

有了正确的工具,在 macOS、Linux 或 Windows 上管理多个 PHP 版本就变得毫不费力了。希望这篇文章能帮助你选择与工作流程相匹配的解决方案。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/8260.html

分享给朋友:

“管理多个PHP版本的5种 *** ” 的相关文章

宝塔面板教程之安装及常见问题篇

宝塔面板教程之安装及常见问题篇

宝塔面板现在已经成为国内许多站长必备的服务器管理必备工具。相比直接使用SSH+FTP来管理服务器,宝塔面板可以提供可视化管理,包括文件管理、数据库管理、数据备份、SSL配置等等。 如果你希望更简单高效地管理您的网站及服务器,宝塔面板是不错的选择。下面是一些宝塔面板安装及常见问题:...

宝塔面板教程之网站管理篇

宝塔面板教程之网站管理篇

宝塔面板中的网站管理是非常重要的一部分,也是站长经常需要使用到的功能模块。网站管理,主要用于管理和创建WEB站点。如果您是宝塔面板的使用用户,应该对此模块有充分的了解,以便于您更高效地管理网站。 宝塔面板网站管理模块包括:添加新网站、修改默认页、设置默认站点、站点列表、站点的运行与停止、备份站点、...

静态与动态IP地址有何区别?

静态与动态IP地址有何区别?

每台连接到Internet的计算机都有一个Internet协议 (IP) 地址。但是,并非所有IP地址的外观或行为都相同。 如果您使用计算机网络或服务器,了解动态IP和静态IP之间的区别至关重要。通过详细了解每个协议,您可以选择最适合您需求的解决方案。 在本文中,我们将讨论静态和动态IP之间...

27个学习PHP的最佳教程(免费和付费资源)

27个学习PHP的最佳教程(免费和付费资源)

对于初学者和那些刚刚进入WordPress开发的人来说,PHP是您可以开始的最佳起点之一。这是一种超级简单直接的语言,使其成为之一,因此相当容易上手,它构成了在线开发的支柱。另外,如果你想在WordPress后端工作,你肯定需要学习它。 但是,如果您不想在昂贵的大学课程上花费数月或数年时间怎么...

SaaS、IaaS与PaaS三者之间有什么区别?

SaaS、IaaS与PaaS三者之间有什么区别?

SaaS、IaaS和PaaS这三个术语几乎可以互换使用——尽管它们根本不能互换。那么它们之间有什么区别呢? 虽然您可能听说过软件即服务 (SaaS),但IaaS和PaaS在特定技术社区之外鲜为人知。分别是基础架构即服务和平台即服务的缩写,这些工具以及SaaS都通过云交付资源。然而,正是交付的资...

什么是Tomcat服务器软件?

什么是Tomcat服务器软件?

Web服务器是您网站的重要组成部分。它们使您的内容可供尝试访问它的访问者使用。但是,您可能想知道:Tomcat是什么,它与其他服务器软件有何不同?幸运的是,我们整理了一份指南来回答这些问题(以及更多!)。 在这篇文章中,我们将仔细研究Tomcat及其工作原理。我们还将讨论它的优缺点,并向您展示...