8分钟阅读时间 (1600字)

如何更新我的PHP版本?

September-PHP

速度、安全性、兼容性、性能。这些只是您应该保持PHP版本更新的四个原因。在本2020年的修订版中,我们介绍了多种更新PHP版本的方法,以避免在Joomla 4发布之前遇到问题,Joomla 4的最低要求是PHP版本7.3或更高。

当我以管理员身份登录时,Joomla提醒我的PHP版本不受支持。救命?!

如果您登录到Joomla管理员区域并看到了上面的消息,请不要慌张。在撰写本文时,Joomla推荐的最小PHP要求是PHP 7.3或更高。当前的官方PHP版本是7.4。

除了可能出现在使用低于7.3版本的PHP时的PHP版本检查消息外,Joomla 3.10在发布Joomla 4时,会有关PHP版本警告消息。

Joomla 4删除了大量旧代码,同时添加了大量新现代代码。拥有正确的PHP版本对于Joomla 4的正常运行至关重要,因为新代码利用了PHP 7.3+提供的改进功能和功能。

Joomla推荐的PHP版本和技术要求

目前,Joomla 3的最低PHP版本技术要求为5.3.10,自2016年4月发布Joomla 3.5以来,用于Joomla推荐的PHP版本为PHP 7。自2019年11月以来,建议使用PHP 7.3+。

现在推荐的版本为PHP 7.3+,背后有重大的原因,那就是PHP 7.3以下的版本已经达到生命周期的终点。因此,如果你的网站仍在使用PHP 5.6或更早的版本,或者PHP 7.2或更早的版本,那么你的网站遇到更新兼容性问题或因可利用漏洞而导致的安全问题的可能性要高得多。

如果你的托管提供商目前没有提供使用PHP 7.4的能力,那么请询问他们原因,如果他们无法提供,考虑一下你的托管是否适合你。

更新PHP版本

在您的托管上更改PHP版本有多种方法,这主要取决于您的托管提供商使用的托管平台。

目前可用的最常见托管平台是cPanel和Plesk,因此我们将介绍如果您的托管提供商提供了此选项,您通常可以在哪里找到更改PHP版本选项。

如果您使用cPanel或Plesk,并且以下设置对您不可用,请联系您的托管支持,因为他们可能在他们的服务器上的共享托管账户中禁用了此功能。

如果您的托管使用自定义控制面板界面,那么您可能需要联系您的托管支持,要求他们更改可用的PHP版本。

使用EasyApache MultiPHP在cPanel中升级PHP版本

  1. 登录到cPanel
  2. 通过搜索“MultiPHP”或在其cPanel的软件部分中查找来找到“MultiPHP Manager”功能
  3. 记下您当前的版本,以防出现问题。
  4. 选择新的PHP版本并点击“应用”。如果有一个表示“继承”选项的选项,这意味着它将继续使用服务器的默认PHP版本。然而,根据服务器上的其他方面,这可能并不总是正确应用。
  5. 访问您的网站以确认更改没有破坏您的网站。

使用CloudLinux LVE在cPanel中升级PHP版本

  1. 登录到cPanel
  2. 通过搜索“PHP”或在其cPanel的软件部分中查找来找到“选择PHP版本”功能
  3. 记下您当前的版本,以防出现问题。
  4. 选择新的PHP版本并点击“设置为当前”。如果有一个表示“本地”选项的选项,这意味着它将继续使用服务器的默认PHP版本。
  5. 访问您的网站以确认更改没有破坏您的网站。

 

Plesk中的PHP版本升级

  1. 登录到Plesk。
  2. 转到Plesk > 域 > [您的域名] > PHP设置
  3. 记下现有的设置。
  4. 从版本下拉菜单中选择要使用的新的PHP版本。还要注意“运行PHP作为”选项的初始设置,因为这可能是您的托管提供商强制执行的。如果您选择PHP版本时它发生变化,也请将此值更改为与之前相同的值,否则您可能会遇到系统错误。
  5. 点击应用
  6. 访问您的网站以确认更改没有破坏您的网站。

使用.htaccess文件中的AddHandler设置PHP版本

您还可以使用Apache中的.htaccess文件来切换PHP版本。您可能会发现,在更改cPanel PHP版本时,以下行会自动添加到您的.htaccess文件中。

在上述步骤中将cPanel更改为PHP 7.4后,我的.htaccess文件现在有以下内容

此行的作用是告诉服务器如何处理PHP文件,通过使用MIME类型来定义要使用的应用程序版本的PHP。

AddHandler application/x-httpd-ea-php74 .php .php7 .phtml

如果您已经安装了其他PHP版本,并且服务器支持该设置,则可以添加到您的.htaccess文件中的一个变体来切换PHP版本。

在VPS或专用服务器上更新PHP版本

如果您是服务器管理员或拥有自己的VPS或专用服务器,并且您有权以root管理员权限进行操作,那么您通常可以通过调整服务器设置来更新您的PHP版本。

如果您不自信更改服务器,您的提供商的技术支持人员应该能够协助您进行必要的更改。

以下是一些针对不同安装方式的资源。

使用EasyApache4更新您的WHM/cPanel服务器

升级WHM以使服务器拥有最新的PHP版本的最简单方法是运行EasyApache4来更新您的Apache版本、PHP版本和相关模块。

了解更多...

更新您的Plesk服务器以安装额外的PHP版本

您可以通过Plesk服务器管理界面或命令行界面添加额外的PHP版本。

了解更多...

更新本地LAMP安装上的PHP版本

如果您已经在您的计算机上安装了本地测试环境(参见六月Joomla社区杂志文章安装测试环境),安装新版本的PHP的最佳方式就是更新您的LAMP安装。

各种安装程序的新版本会定期发布,支持最新的PHP版本,通常您只需安装更新,版本就会自动更新。

  • XAMPP - 提供Linux、Windows和Mac版本
  • MAMP - 提供Mac和Windows版本

故障排除技巧

PHP是一个服务器级的应用层。这意味着当出现问题时,它真的会出问题,并且通常会伴随着多个错误使您的网站无法访问。

在切换PHP版本的过程中,我只遇到过少数几个错误,其中两个最常见的是(这两个错误都是在为本文创建截图时触发的)

  • 503错误 - 服务不可用
    在服务器更改您的账户设置时,可能会暂时出现503错误。如果几分钟之后仍然显示,请撤销您所做的版本更改。
  • 502错误 - 网关错误
    当出现502错误时,通常是一个永久性问题。通常,这意味着您所做的更改与服务器上的设置不兼容。我在更改Plesk版本时触发了502错误,因为我没有将“运行PHP为”选项设置为原始设置。将设置更改为原始设置后,清除了502错误。

您可以在JDOCs中更新PHP页面找到(并贡献)额外的故障排除技巧。

不推荐使用的替代方案

Joomla 3.9可以在PHP 7.2及更高版本上运行,但如文章开头所述,如果您的PHP版本低于当前所需版本,您将收到警告消息。

尽管如此,PHP的升级可能不会立即进行,但我希望您可以看到如果您是与一家优质的主机公司合作,它将多么容易完成。Joomla管理员在收到PHP警告消息时可能会感到不舒服,因此存在一种禁用PHP版本检查的方法,尽管升级PHP并保持Joomla更新应该是您的首选路径。

以下是如何禁用PHP版本检查消息的步骤

  • 登录到您的Joomla网站的后端。
  • 转到扩展 -> 插件。
  • 搜索名为Quick Icon – PHP Version Check的插件,通过点击旁边的绿色勾选标记来禁用它,这将取消发布该插件。
  • 返回到您的Joomla控制面板,该消息现在将消失。

其他资源

可用的服务器配置种类繁多,因此在杂志文章中涵盖所有变化并不实际。

为了允许记录其他方法,已在JDOCs上创建了一个页面。请将更多方法和故障排除技巧贡献到JDOCs中的更新PHP页面


 本文更新了2016年5月Joomla社区杂志中最受欢迎的文章之一《如何升级您的网站PHP版本》中之前提供的信息,作者为Parvez Akther。

社区杂志上发表的一些文章代表了作者对特定主题的个人观点或经验,可能并不与Joomla项目的官方立场一致。

0
领导力访谈:Jaz Parkyn
开源的力量
 

评论 5

已经注册?登录这里
Robert Fairhead 在 2020年10月13日星期二 02:36
注意现有设置!

好文章,Patrick。正如讨论的那样,“注意现有设置”对我来说是关键提示,因为我有7.2中的设置在7.3中没有被选中。这导致我的共享服务器环境中的Joomla网站变得不可用(以及我的“阴暗面”也如此)。

幸运的是,Terry 在回复我在Joomla 澳大利亚论坛上关于升级PHP到7.3的问题时,给了我一个解决问题的线索。我检查了他建议的设置与我的PHP 7.2设置,然后确保在7.3上的设置是相同的。

全部修复,在Joomla和“黑暗面”。

^Robertf

0
好文章,Patrick。正如我们讨论的那样,“注意现有设置”对我来说是一个关键的提示,因为我有在7.2上的设置,这些设置在7.3上不是默认选中的。这导致我的Joomla网站在共享服务器环境中不可用(我的“黑暗面”网站也是如此)。幸运的是,Terry 在我询问Joomla澳大利亚论坛上的问题时给了我一个解决问题的线索。我检查了他建议的设置与我的PHP 7.2设置,然后确保在7.3上的设置是相同的。全部修复,在Joomla和“黑暗面”。 :D ^Robertf
Robert Fairhead on Monday, 14 December 2020 02:58
升级到7.4

Hi Patrick,Joomla和WordPress中的Akeeba备份开始警告我升级从PHP 7.3到7.4。除了从2021年结束对7.3的支持外,列出的好处之一是速度提升,正如你文章中的Joomla警告所述。我从7.2到7.3并没有注意到太大的改进,但7.3到7.4的改进惊人!要么是这样,要么是我的缓存终于工作正常了!

0
Hi Patrick,Joomla和WordPress中的Akeeba备份开始警告我升级从PHP 7.3到7.4。除了从2021年结束对7.3的支持外,列出的好处之一是速度提升,正如你文章中的Joomla警告所述。我从7.2到7.3并没有注意到太大的改进,但7.3到7.4的改进惊人!要么是这样,要么是我的缓存终于工作正常了! :D
Stephen Leach on Tuesday, 12 January 2021 14:06
请问我该找谁帮忙?

我已经阅读了您的文章,因为收到了警告信息。我的Joomla网站[开发中]托管在我的Synology NAS上。在我的Joomla根目录中的.htaccess文件中没有AddHandler脚本可以修改。
我在这里缺少什么?
谢谢

0
我已经阅读了您的文章,因为收到了警告信息。我的Joomla网站[开发中]托管在我的Synology NAS上。在我的Joomla根目录中的.htaccess文件中没有AddHandler脚本可以修改。我在这里缺少什么?谢谢
Patrick Jackson on Tuesday, 12 January 2021 23:52
在NAS上升级PHP

Stephen,

在NAS上升级PHP是NAS特定的,所以对于Synology NAS,这里是一个我找到的指南:https://skdavis.net/viewtopic.php?t=161

一旦安装了PHP版本(示例显示为7.2,但7.3也是可用的),将Web Station设置为默认使用该版本。警告应该会消失,并且您不需要修改.htaccess。

Patrick

0
Stephen,在NAS上升级PHP是NAS特定的,所以对于Synology NAS,这里是一个我找到的指南:https://skdavis.net/viewtopic.php?t=161。一旦安装了PHP版本(示例显示为7.2,但7.3也是可用的),将Web Station设置为默认使用该版本。警告应该会消失,并且您不需要修改.htaccess。Patrick
Stephen Leach 在 2021 年 1 月 14 日星期四 09:55
谢谢

感谢您的回复;我会尝试一下。
Stephen

0
感谢您的回复;我会尝试一下。Stephen

通过接受,您将访问 https://magazine.joomla.net.cn/ 外部第三方提供的服务