【问题标题】:How to add a Path to update-alternatives --config php如何将路径添加到 update-alternatives --config php
【发布时间】:2019-04-04 10:29:20
【问题描述】:

我正在使用 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。 这改变了替代方案的路径。自己看:

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

它只有一个缺点。 当我运行此命令时:update-alternatives --config 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 添加到运行update-alternatives --config php 时显示的路径列表中?

【问题讨论】:

    标签: linux ubuntu plesk php-7.2


    【解决方案1】:

    您必须先安装替代路径才能在替代列表中显示它, 见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】:

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

      这对我有用:

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

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

      • phar.phar
      • 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
      

      【讨论】:

        猜你喜欢
        • 2012-09-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-25
        • 2013-03-05
        • 2021-08-14
        • 2012-05-10
        • 2021-12-12
        相关资源
        最近更新 更多