【问题标题】:Downgrade php5 to 5.4.9-4ubuntu2.2 in Ubuntu 13.10在 Ubuntu 13.10 中将 php5 降级到 5.4.9-4ubuntu2.2
【发布时间】:2013-11-01 18:52:30
【问题描述】:

我最近更新到 Ubuntu 13.10,但遇到了 PHP 版本问题。

我的一个客户端使用的是旧版本的 php5,其中可以使用它而不会出现弃用错误的最新版本是 5.4.9-4ubuntu2.2。 Ubuntu 13.10 附带 5.5.3-1ubuntu2

我想知道是否有办法让 5.4.9-4ubuntu2.2 在 13.10 上安装,而无需求助于编译源包。我认为必须有一个命令行来 apt-get 安装旧版本,我只是不知道。

我试过sudo apt-get install php5=5.4.9-4ubuntu2.2 没有成功。

非常感谢任何帮助。

【问题讨论】:

  • 这不能回答您的问题,但为什么不简单地删除此客户端虚拟主机的 E_DEPRECATED 错误报告而不是降级所有内容?
  • 您确定这些版本号是正确的吗,因为它读起来就像您正在尝试将 5.3.3 降级到 5.4 .9,这完全没有意义。
  • 您必须找到具有该版本的存储库。您可以使用sudo apt-get update 来确保您拥有当前的软件包列表。如果sudo apt-get -s install php5 没有显示 5.4 版本,谷歌看看是否有另一个存储库。
  • @Sammitch 错字;正确的版本是 5.5.3。
  • @Lepidosteus 目前删除弃用错误并不是一个可行的做法。这将涉及将服务器上更过时的 PHP 版本拉到更新的版本,然后完全重写 mysql 类,这需要客户端付费。

标签: php ubuntu ubuntu-13.10


【解决方案1】:

我遇到了同样的问题,并找到了以下解决方案。我很快就会对其进行测试,并将返回结果,但它看起来很可靠。

# upgrade system, so you can add to ignore all updates later
sudo apt-get update
sudo apt-get upgrade

# remove your php, apache, etc
sudo apt-get purge apache2 php5 libapache2-mod-php5 # add here your server packages

# change repositories to raring  (with backup)
sudo sed -i.bak "s/saucy/raring/g" /etc/apt/sources.list

# update and install server packages
sudo apt-get update
sudo apt-get install apache2 php5 libapache2-mod-php5 phpmyadmin 

# change repositories back to saucy
sudo sed -i "s/raring/saucy/g" /etc/apt/sources.list

# ignore all current upgrades (package hold)
dpkg --get-selections | egrep '^(apache|php)' | sed 's/install/hold/g' | sudo dpkg --set-selections

【讨论】:

  • 我实际上在 PHP ini 文件中找到了一种解决方法,可以阻止脚本因弃用错误而死,但这个解决方案似乎是一个可行的替代方案。
【解决方案2】:

E_DEPRECATED 消息是信息性的,不应被视为与警告相同的级别。他们的目的只是通知开发人员他们正在使用的某些功能将在未来的版本中消失。

来自the documentation

运行时通知。启用此选项可接收有关在未来版本中不起作用的代码的警告。

虽然这些通知在开发中可能很有用,但在生产中肯定应该禁用它们。您可以通过将 ~E_DEPRECATED 添加到 php.ini 中的 error_reporting 行来执行此操作,或者将以下行添加到您的脚本/应用程序:

error_reporting(error_reporting() ~E_DEPRECATED);

Function documentation.

如果我正确阅读了您的评论,则这些消息源于您使用了自 PHP 5.5 起已弃用的 mysql_* 系列函数。这些函数仍在广泛使用,虽然它们可以从 PHP 5.6 开始被删除,但仍有争议。

简短的回答:您不必降级任何东西,只需稍微降低错误报告设置,以免生成它们。

【讨论】:

    【解决方案3】:

    我的解决方案:

    sudo add-apt-repository 'deb http://cn.archive.ubuntu.com/ubuntu raring main'    #add back raring
    sudo apt-get update
    sudo apt-get remove php5-cli php5-common
    sudo apt-get install php5-cli=5.4.9-4ubuntu2    #specify php version, lookup versions from: apt-cache policy php5-cli
    sudo apt-mark hold php5-cli    #hold the version
    

    【讨论】:

      猜你喜欢
      • 2013-11-19
      • 2013-10-27
      • 1970-01-01
      • 2013-11-18
      • 2021-03-07
      • 2016-08-23
      • 2013-10-27
      • 2014-01-30
      相关资源
      最近更新 更多