![](/img/trans.png)
[英]How to do update-alternatives --config without having an interactive prompt?
[英]How to add a Path to update-alternatives --config php
我正在 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
時顯示的路徑列表中?
您必須先安裝替代路徑才能在替代列表中顯示它,請參閱手冊頁
通過使用這個命令,
update-alternatives --install /usr/bin/php php /opt/plesk/php/7.2/bin/php 71
它會將您的/opt/plesk/php/7.2/bin/php
安裝到替代列表中
我不得不附加一個額外的和強制性的選項priority
。 該值必須是整數。
這對我有用:
sudo update-alternatives --install /usr/bin/php php /opt/plesk/php/7.2/bin/php 100
也許您還想添加這些命令的替代方案:
這些命令將為所有五個命令(也稱為鏈接組)添加替代選項:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.