Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以从PHP5.3.10迁移到PHP5.6.0吗?_Php_Php 5.3_Porting_Php 5.6 - Fatal编程技术网

我可以从PHP5.3.10迁移到PHP5.6.0吗?

我可以从PHP5.3.10迁移到PHP5.6.0吗?,php,php-5.3,porting,php-5.6,Php,Php 5.3,Porting,Php 5.6,我基本上是一名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
开发人员。我目前正在本地机器上使用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
版本(
php5.6.0

我的问题是,由于我在本地机器上使用的
PHP
版本太旧,而且所有低于
5.4
PHP
版本都不受官方支持或宣布终止,我是否应该选择
php5.6.0

如果你的答案是肯定的,请告诉我怎么做?迁移之后,我在项目中编写的代码能否正常工作?我需要做什么改变

如果你的答案是否定的,请详细解释为什么

在问这个问题之前,我已经浏览了Google
PHP
文档。在那里,我找到了以下版本迁移的迁移说明:

   **5.3.x->5.4.x
   5.4.x->5.5.x
   5.5.x->5.6.x**
没有了解如何从
PHP5.3.10
迁移到
PHP5.6.0

有人能在这方面帮助我吗


如果您需要有关我的问题的任何进一步信息,请务必让我知道。

TL;DR PHP 5.3.x仍将通过Ubuntu获得安全升级,但升级到14.04.1以获得更新版本

您可以从网站上下载并构建/安装PHP 5.6的源代码,但不要这样做,因为这意味着您可能会失去系统的稳定性,因为您系统上的其他软件包不是为该版本设计的,每次发布新版本时,您都必须手动升级,如果这些升级与安全相关,则会危及稳定性,因为您无法像使用软件包管理器那样快速升级它们

相反,我建议您将发行版升级到Ubuntu 14.04.1,其中包含PHP5.5.9;比5.3.10更新很多。当然,在Ubuntu12.04达到EOL之前,5.3.x仍然会收到安全更新,但是如果你想要最新的功能,你应该进行dist升级。如果您使用的是服务器版本,您可以在Ubuntu软件更新程序中以图形方式执行此操作,或者在TTY中以root身份运行
apt get dist upgrade
(例如使用
sudo
更新:改用
sudo发布升级

编辑:只是澄清一下,apt-get是包管理器。如果您通常使用图形工具安装和更新软件包(ubuntu软件中心、synaptic等),下面是一些简单的命令
#
表示它必须以root用户身份运行(例如,
sudo apt get install
),
$
表示您不需要
sudo
。将中的内容替换为要使用的内容(例如,
apt get install chromium browser

#
apt get update
更新存储库
#
apt get upgrade
将升级到较新的软件包(首先运行上述软件包!)
#
apt get upgrade
如上所述,但仅升级单个软件包(除非您有特定原因,否则没有那么大用处)
#
apt get install
安装程序包
#
apt get remove
删除一个包
#
apt get autoremove
自动删除依赖项安装的不再需要的包
$
apt缓存搜索
搜索您提供的查询
$
apt缓存显示
显示包的信息
#
yes”“| apt get install
安装一个软件包,该软件包回答所有问题的默认答案(您可以在大量命令中使用
yes


#
apt get dist upgrade
在通常可能会被延迟的情况下升级所有内容(并删除一些软件包)。

升级到Ubuntu 14.04.1,以便将PHP 5.5.9作为一个软件包,并从Ubuntu升级中获益。无论如何,我不会在生产环境中使用5.6.0

从中可以获得有关从5.3到5.4以及从5.4到5.5的迁移的信息

除了上面提到的更改和新特性之外,PHP团队还在5.3和5.5.9之间进行内存管理和优化。这些改进本身就推动了迁移

关于迁移的几条建议

  • APC:PHP现在嵌入了OPCache作为APC的替代品。如果使用APC变量,则可以获得有关的一些信息—在我的示例中,通过新模块(名称更改)使用旧APC,
    php5 apcu
    (注意“u”)是最佳选择

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

  • 此外,
    /etc/php5
    目录在结构上要求更高:目录下是包含模块ini文件列表的
    mods available
    (a la nginx)。然后在
    cli
    fpm
    apache2
    。。。dirs是一个
    conf.d
    dir,它有指向主
    mods可用的
    modules ini文件的符号链接;如果您打算将该模块用于该PHP配置,请仅添加一个链接(例如
    mysqli
    对于
    cli
    可能不是必需的)

  • JSON:必须安装模块
    php5-JSON
    apt get install php5-JSON
    ),才能获得PHP JSON函数(
    JSON\u-encode
    decode

  • 请注意,将
    /etc/php5/MODE/php.ini
    (模式为
    cli
    ,…)链接到某个主php.ini(例如在
    fpm
    )似乎有问题-在Ubuntu更新过程中,一个错误阻止了安装-我只是复制了php.ini,因为在我的例子中,所有模式都是相同的

除此之外,移民也在继续