代码之家  ›  专栏  ›  技术社区  ›  Julian

如何添加更新备选方案的路径——config php

  •  -1
  • Julian  · 技术社区  · 6 年前

    我正在Ubuntu 16机器上工作:

    lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 16.04.6 LTS
    Release:        16.04
    Codename:       xenial
    

    我对Ubuntu的体验是“中等”。

    我需要改变路径 php 命令在备选方案中引用。 我做了以下工作:

    cd /etc/alternatives
    ls -ls | grep php
    0 lrwxrwxrwx 1 root root  15 Mar  7 06:31 php -> /usr/bin/php7.0
    

    我想改变路径 /usr/bin/php7.0 /opt/plesk/php/7.2/bin/php .

    我尝试的第一件事是 update-alternatives --config php . 这给了我:

    备选php有1种选择(提供/usr/bin/php)。

      Selection    Path             Priority   Status
    ------------------------------------------------------------
      0            /usr/bin/php7.0   70        auto mode
    * 1            /usr/bin/php7.0   70        manual mode
    
    Press <enter> to keep the current choice[*], or type selection number:
    

    遗憾的是,我无法使用此命令添加其他路径。

    我尝试做的第二件事是: update-alternatives --set php /opt/plesk/php/7.2/bin/php 。结果是:

    update-alternatives: error: alternative /opt/plesk/php/7.2/bin/php for php not registered; not setting
    

    第三次尝试时,我 /etc/alternatives 并已使用 unlink php 。然后我创建了一个新的符号链接,如下所示: ln -s /opt/plesk/php/7.2/bin/php php . 这改变了备选方案indead中的路径。亲自查看:

    root@xxtweb03:/etc/alternatives# ls -ls | grep php
    0 lrwxrwxrwx 1 root root  26 Apr  4 12:18 php -> /opt/plesk/php/7.2/bin/php
    

    它只有一个缺点。 运行此命令时: 更新备选方案--配置php 然后 /opt/plesk/php/7.2/bin/php 不在所选内容中。

    这就是我得到的:

    root@xxtweb03:/# update-alternatives --config php
    There is 1 choice for the alternative php (providing /usr/bin/php).
    
      Selection    Path             Priority   Status
    ------------------------------------------------------------
      0            /usr/bin/php7.0   70        auto mode
      1            /usr/bin/php7.0   70        manual mode
    

    问题:如何添加 /opt/plesk/php/7.2/bin/php 运行时显示的路径列表 更新备选方案--配置php ?

    0 回复  |  直到 6 年前
        1
  •  7
  •   artemtech    5 年前

    您必须先安装备用路径才能在备用路径列表中显示它, 看见 manual page
    通过使用此命令,

    update-alternatives --install /usr/bin/php php /opt/plesk/php/7.2/bin/php 71

    它将安装 /opt/plesk/php/7.2/bin/php 进入备选方案列表

        2
  •  2
  •   Torsten Homberger    4 年前

    我必须附加一个额外的强制选项 priority 。该值必须是整数。

    这对我很有用:

    sudo update-alternatives --install /usr/bin/php php /opt/plesk/php/7.2/bin/php 100
    

    也许您还想添加这些命令的替代选项:

    • 法尔
    • 法尔。法尔
    • php cgi
    • php cgi bin

    这些命令将为所有五个命令(也称为链接组)添加替代选项:

    sudo update-alternatives --install /usr/bin/php php /opt/plesk/php/7.2/bin/php 100
    sudo update-alternatives --install /usr/bin/phar phar /opt/plesk/php/7.2/bin/phar 100
    sudo update-alternatives --install /usr/bin/phar.phar phar.phar /opt/plesk/php/7.2/bin/phar.phar 100
    sudo update-alternatives --install /usr/bin/php-cgi php-cgi /opt/plesk/php/7.2/bin/php-cgi 100
    sudo update-alternatives --install /usr/lib/cgi-bin/php php-cgi-bin /opt/plesk/php/7.2/bin/php-cgi 100
    
    推荐文章