hey*_*eya 6 php package-management apt apache2
我安装了 php5.5 并将 Ubuntu 从 12 升级到 14。现在系统不工作了。我做了
sudo apt-get upgrade && sudo apt-get install libapache2-mod-php5
Run Code Online (Sandbox Code Playgroud)
但是得到了
The following packages have unmet dependencies:
libapache2-mod-php5 : Depends: php5-common (= 5.5.9+dfsg-1ubuntu4.4) but 5.5.18+dfsg-1+deb.sury.org~precise+1 is to be installed
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
我用来安装 php5.5 的命令是这样的:
add-apt-repository ppa:ondrej/php5-oldstable
apt-get install ppa:ondrej/php5-oldstable
apt-get update
apt-get install php5
apt-get install python-software-properties
add-apt-repository ppa:ondrej/php5
apt-get update
apt-get install php5-common php5-mysql php5-xmlrpc php5-cgi php5-curl php5-gd php5-cli php5-fpm php-apc php-pear php5-dev php5-imap php5-mcrypt
Run Code Online (Sandbox Code Playgroud)
Kaz*_*lfe 16
你的问题是你有一个非官方的 PPA,它破坏了你的安装过程。要修复此问题,请运行以下命令:
sudo add-apt-repository --remove ppa:ondrej/php5-oldstable
sudo add-apt-repository --remove ppa:ondrej/php5
Run Code Online (Sandbox Code Playgroud)
此 PPA 提供了不同(旧)版本的 PHP,而不是 Ubuntu 想要的正确版本。
运行这些命令以添加额外的存储库:
sudo add-apt-repository universe
sudo add-apt-repository multiverse
Run Code Online (Sandbox Code Playgroud)
现在,运行:
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
您的存储库信息将是官方的 Ubuntu 信息。libapache2-mod-php5使用以下命令安装:
sudo apt-get install libapache2-mod-php5
Run Code Online (Sandbox Code Playgroud)
注意:您可能需要先卸载旧的 PHP 包。命令:
sudo apt-get remove php5 php5-common php5-mysql php5-xmlrpc php5-cgi php5-curl php5-gd php5-cli php5-fpm php-apc php-pear php5-dev php5-imap php5-mcrypt
Run Code Online (Sandbox Code Playgroud)
除非绝对需要,否则不应添加 PPA。他们可以破坏的比他们解决的要多,并可能导致这样的问题。此外,非官方 PPA 是潜在病毒的攻击媒介。除非你真的需要使用 PPA,否则不要。
| 归档时间: |
|
| 查看次数: |
35231 次 |
| 最近记录: |