我能否从PHP 5.3.10迁移到PHP 5.6.0?

12

我基本上是一名PHP开发人员。目前我在本地机器上使用Ubuntu Linux 12.04 LTS

我正在使用以下版本的PHP开发我的PHP项目:

php -v //command run at terminal to know the `PHP` version installed

PHP 5.3.10-1ubuntu3.13 with Suhosin-Patch (cli) (built: Jul  7 2014 18:54:55) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies

最近,PHP开发团队发布了最新的稳定版本(PHP 5.6.0)。我的问题是,我的本地机器上使用的PHP版本太老了,所有低于5.4PHP版本都已经不得官方支持或被宣布终止生命周期。那么我应该选择PHP 5.6.0吗?如果是,请告诉我如何操作?迁移后,我项目中编写的代码是否能正常工作?需要做哪些更改?如果不是,请详细说明原因。

在提问之前,我已经查阅了GooglePHP文档。我找到了以下版本迁移的迁移说明:

   **5.3.x->5.4.x
   5.4.x->5.5.x
   5.5.x->5.6.x**

我不知道如何从PHP 5.3.10迁移到PHP 5.6.0,希望有人可以帮助我。

如果您需要了解更多关于我的问题的信息,请告诉我。


1
你应该始终使用软件包管理器来更新软件。仅在绝对必要时手动更新,即当官方仓库中缺少软件包且您不想使用第三方仓库时。 - Luka
@Luka:什么是包管理器?应该使用哪个包管理器? - PHPFan
1
软件包管理器是一个程序,用于自动搜索和安装软件包及其依赖项。apt 是一个包管理器的例子。所有基于 Debian 的发行版(因此也包括 Ubuntu)默认都具有它。例如,基于 RedHat 的发行版具有 yum。因此,您应该始终使用 apt-get install php 安装更新。如果包已经安装并且存在新的更新,则会安装这些更新。如果根本没有安装该包,则在运行 apt-get install 几分钟后将安装它。请查看 DevilishDB 的答案。 - Luka
2个回答

8
TL;DR Ubuntu将为PHP 5.3.x提供安全升级,但建议升级到14.04.1以获取更新版本。您可以从网站下载并构建/安装PHP 5.6的源代码,但不要这样做,因为这意味着您的系统稳定性会受到影响,因为系统上的其他软件包不是为此版本设计的,每次新版本发布时都需要手动升级,如果这些升级与安全有关,则会影响稳定性,因为您无法像使用软件包管理器一样快速升级它们。相反,我建议您升级到Ubuntu 14.04.1,其中包含PHP 5.5.9;比5.3.10新得多。当然,5.3.x仍将接收安全更新,直到Ubuntu 12.04到达EOL,但如果您想要最新功能,应该进行分发升级。您可以在Ubuntu软件更新器中以图形方式执行此操作,或者在使用服务器版本时作为root(例如使用sudo)在TTY中运行apt-get dist-upgrade。更新:请改用sudo do-release-upgrade。编辑:仅澄清一下,apt-get是软件包管理器。如果您通常使用图形工具安装和更新软件包(ubuntu软件中心、synaptic等),则以下是一些简单的命令。#表示必须以root身份运行(例如sudo apt-get install ),$表示您不需要sudo。用所需的内容替换(例如apt-get install chromium-browser)。

# apt-get update 命令用于更新软件源
# apt-get upgrade 命令用于升级到新版本(请先运行上面的命令!)
# apt-get upgrade <package> 命令与上面相同,但只升级单个软件包(除非您有特定原因,否则不太有用)
# apt-get install <package> 命令用于安装软件包
# apt-get remove <package> 命令用于删除软件包
# apt-get autoremove 命令可自动删除由依赖项安装且不再需要的软件包
$ apt-cache search <query> 命令用于搜索指定的查询内容
$ apt-cache show <package> 命令用于显示软件包的详细信息
# yes "" | apt-get install <package> 命令可在安装软件包时自动回答所有问题(您可以在许多命令中使用 yes
# apt-get dist-upgrade 命令可升级所有内容(并删除一些软件包),以防止通常会被保留。


我找到了一个红迪网用户。去找他吧。 - Kellen Stuart

5

为了获得PHP 5.5.9作为软件包并受益于Ubuntu升级,请升级到Ubuntu 14.04.1版本。无论如何,我不会在生产环境中选择5.6.0。

此PHP页面上获取有关从5.3到5.4和从5.4到5.5的迁移信息。

除了提到的更改和新功能外,PHP团队还在5.3和5.5.9之间的内存管理和优化方面进行了工作。这些改进本身已经促使迁移。

迁移建议

  • APC: PHP现在将OPCache嵌入作为APC的替代品。如果您使用了APC变量,则可获取有关OPCache的一些信息-在我的情况下,通过新模块(更名),php5-apcu(注意'u'),使用旧的APC是最好的选择。

  • 这些模块被安装在不同的目录中。如果您打算保留php.ini,则可能需要调整extension_dir

  • 此外,/etc/php5目录在结构上要求更高:该目录下是mods-available(类似于nginx)包含模块ini文件列表。然后在clifpmapache2...目录中,有一个conf.d目录,其中包含指向主mods-available模块ini文件的符号链接;仅在打算为该PHP配置使用该模块时添加链接(例如,在cli中可能不需要mysqli)。

  • JSON:必须安装php5-json模块(apt-get install php5-json)才能获得PHP JSON函数(json_encodedecode...)。

  • 请注意,似乎存在一个问题将/etc/php5/MODE/php.ini(MODE为cli等)链接到某个php.ini中(例如在fpm中)-在Ubuntu更新期间,会出现错误导致无法安装-在我的情况下,我只是复制了php.ini,因为它们对于所有模式都是相同的。

此外,迁移顺利完成。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接