我需要将 PHP 版本从 5.5.9 降级到 5.4(使用 Ubuntu 14.04),因为我的代码使用了 mySQL(在 5.5.9 中已弃用),而我无法更改该代码。有办法吗?
*我尝试了网站上有关该问题的其他帖子,但没有找到任何对我有帮助的内容。
答案1
首先,您需要删除所有 php5 文件:
sudo apt-get remove --purge `dpkg -l | grep php | grep -w 5.5 | awk '{print $2}' | xargs`
之后尝试搜索 php 5.4.可用资源:
apt-cache policy php5
我的结果:
php5:
Installed: (none)
Candidate: 5.5.9+dfsg-1ubuntu4.4
Version table:
5.5.9+dfsg-1ubuntu4.4 0
500 http://archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
500 http://archive.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
5.5.9+dfsg-1ubuntu4 0
500 http://archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
如果没有可用的资源,我们需要通过以下命令添加一些资源:
echo "deb http://php53.dotdeb.org stable all" | sudo tee -a /etc/apt/sources.list
和
apt-get update
如果签名存在以下问题:
Reading package lists... Done
W: GPG error: http://php53.dotdeb.org stable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY xxxxxCODExxxx
我们需要通过命令签署我们的 Deb 存储库:
gpg --keyserver keys.gnupg.net --recv-key xxxxxCODExxxx
gpg -a --export xxxxxCODExxxx | sudo apt-key add - apt-get update
之后执行:
sudo apt-get update
apt-cache policy php5
你应该看到最后的结果:
php5:
Installed: (none)
Candidate: 5.5.9+dfsg-1ubuntu4.4
Version table:
5.5.9+dfsg-1ubuntu4.4 0
500 http://archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
500 http://archive.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
5.5.9+dfsg-1ubuntu4 0
500 http://archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
5.4.33-1~dotdeb.1 0
500 http://php53.dotdeb.org/ stable/all amd64 Packages
最后点击安装你的版本:
apt-get install php5=5.4.33-1~dotdeb.1
享受 ;)
答案2
通过以下命令添加 dotdeb repo:
echo "deb http://php53.dotdeb.org stable all" | sudo tee -a /etc/apt/sources.list
获取并安装 GnuPG 密钥
wget http://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg
然后
sudo apt-get update
安装特定版本的简单方法是通过 synaptic
全做完了
你也应该降级 Apache 才能正确安装“libapache2-mod-php5“
通过以下命令添加精确的 repo
echo "deb http://security.ubuntu.com/ubuntu precise-security main" | sudo tee -a /etc/apt/sources.list && sudo apt-get update
然后
sudo aptitude install apache2=2.2.22-1ubuntu1.7
确保您接受以下内容
以下操作将解决这些依赖关系:
安装以下软件包:
1)apache2-mpm-prefork [2.2.22-1ubuntu1.7 (precise-security)]
2)apache2.2-bin [2.2.22-1ubuntu1.7 (precise-security)]
然后
sudo aptitude install libapache2-mod-php5=5.4.36-1~dotdeb.1
尝试安装 php 包时不要忘记设置特定版本
sudo aptitude install php5-mysql=5.4.36-1~dotdeb.1