无法添加PPA:';购电协议:ondrej/php5-5.6';

无法添加PPA:';购电协议:ondrej/php5-5.6';,php,ubuntu,Php,Ubuntu,我正试图在Ubuntu机器上将我的PHP5.5.9更新为5.6 但当我跑步时: sudo add-apt-repository ppa:ondrej/php5-5.6 php5 -v 我得到: Cannot add PPA: 'ppa:ondrej/php5-5.6'. Please check that the PPA name or format is correct. 我怎样才能解决这个问题 编辑 我跑: sudo add-apt-repository ppa:ondrej/php

我正试图在Ubuntu机器上将我的PHP5.5.9更新为5.6

但当我跑步时:

sudo add-apt-repository ppa:ondrej/php5-5.6
php5 -v
我得到:

Cannot add PPA: 'ppa:ondrej/php5-5.6'.
Please check that the PPA name or format is correct.
我怎样才能解决这个问题

编辑 我跑:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php5
但当我跑步时:

sudo add-apt-repository ppa:ondrej/php5-5.6
php5 -v
我仍然使用PHP5.5.9:

PHP 5.5.9-1ubuntu4.20 (cli) (built: Oct  3 2016 13:00:37) 

首先添加正确的ppa,执行以下操作

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get -y install php5.6 php5.6-mcrypt php5.6-mbstring php5.6-curl 
php5.6-cli php5.6-mysql php5.6-gd php5.6-intl php5.6-xsl php5.6-zip
  • sudo添加apt存储库ppa:ondrej/php
  • sudo-apt-get-update
  • sudo apt get-y安装php5.6 php5.6-mcrypt php5.6-mbstring php5.6-curl php5.6-cli php5.6-mysql php5.6-gd php5.6-intl php5.6-xsl php5.6-zip

  • 我在安装php5.6时遇到了同样的问题,然后我执行了上述步骤。

    虽然@tanveerahmadar的答案提供了重要信息,但以下是在Ubuntu 12.04上安装php5.6的正确方法:

    重要提示:如果您计划在网站中使用PHP5.6(您可能希望这样做),您必须升级到Apache 2.4,这不是Ubuntu 12.04附带的(下面将介绍Apache的升级)

    步骤1:检查版本

    # check PHP version
    php -v
    # check Apache version
    apache2 -v
    
    如果您的Apache版本是2.2,请遵循步骤2;如果版本为2.4,请跳至步骤3

    步骤2:添加PHP5.6+存储库并更新包列表

    add-apt-repository ppa:ondrej/apache2
    apt-get update
    apt-get upgrade
    
    此步骤将Apache从2.2升级到2.4。如果需要,请重新配置Apache。备份现有的Apache配置、启用的站点和MOD。您可能需要重新安装/升级一些MOD

    步骤3:添加PHP5.6+存储库

    add-apt-repository ppa:ondrej/php
    apt-get update
    
    步骤4:安装PHP 5.6

    apt-get install -y php5.6 php5.6-mcrypt php5.6-mbstring php5.6-curl php5.6-cli php5.6-mysql php5.6-gd php5.6-intl php5.6-xsl php5.6-zip libapache2-mod-php5.6
    
    这将安装php5.6和一些常见的软件包,如cURL(
    php5.6-cURL
    )和GD(
    lib5.6-GD
    ),以及在Apache2.4中启用php5.6(
    libapache2-mod-php5.6

    在此过程中,Apache将重新启动

    这就是你要做的所有步骤


    提示:如果您想升级到PHP7(主题外),只需在步骤3之后发出以下命令(跳过步骤4):



    最后一句话:不建议升级到Ubuntu12.04中的PHP5.6,因为它涉及到将Apache升级到2.4。Ubuntu 14.04附带了Apache 2.4,升级PHP 5.6要容易得多。

    这在我的Ubuntu服务器14.04.5 LTS中起作用

    a2dismod php5
    a2enmod php5.6
    apache2ctl restart
    

    这件工作对我来说太完美了。 通过执行以下操作,首先添加正确的PPA

    sudo add-apt-repository ppa:ondrej/php
    sudo apt-get update
    sudo apt-get -y install php5.6 php5.6-mcrypt php5.6-mbstring php5.6-curl 
    php5.6-cli php5.6-mysql php5.6-gd php5.6-intl php5.6-xsl php5.6-zip
    
    禁用PHP5.5.3或5.5.9模块

    a2dismod php5
    
    启用刚刚安装的php5.6模块

    a2enmod php5.6
    
    最后,重新启动apache

    sudo service apache restart
    

    @tanveer ahmad dar突出显示了其中的大部分。

    添加正确的PPA:。你想要得到的是不推荐的Hanks,我可以安装ppm,但是不能更新php,我编辑了我的答案。你能帮忙吗@CliveHi,我在Ubuntu14.04中,遇到了同样的问题,将上一个cmd更改为“sudo apt get install php5.6”,然后它就工作了。步骤2和步骤4都有
    apt get install php5.6
    ,这是没有意义的。在添加回购之后,在安装任何东西之前,您应该始终发出
    apt get update
    来刷新本地回购列表。是的,您是对的。我们应该在安装前使用apt get update,以防万一,我不得不运行:LC_ALL=C.UTF-8 add apt repository ppa:ondrej/phperor:“~ondrej”用户或团队不存在为什么在我遵循我们的步骤之后,当我使用phpinfo()运行脚本时,我仍然得到以前的php版本,但当我通过cli运行
    php-v
    时,我得到了php5.6这是因为您的Apache正在加载旧的PHP,如
    phpinfo()
    中显示的
    PHP.ini
    路径所示。尽管在整个过程中,Apache将自行重新启动,但您是否尝试过自己重新启动Apache服务,并查看Apache是否仍在使用旧版本?@slier:这是因为Apache仍然加载了旧的PHP模块。这是我的解决方案(您需要按此顺序运行所有命令):
    cd/etc/apache2/mods-enabled;rm-fr php5.*;ln-s../mods可用/php5.6.conf;ln-s../mods可用/php5.6.load/etc/init.d/apache2重启
    这个命令可能会被
    a2enmod/a2dismod
    替换,但我不熟悉它。另外,如果你必须检查版本,那么使用“php5.6-v”而不是“php5-v”。没错,“php5.6-h”或“php-h”也会给你更多的选项@Filipe Ferminiano