1. 程式人生 > >apt-get命令安裝的Composer,捆綁安裝的/usr/bin/php與/usr/local/php/bin/php版本衝突

apt-get命令安裝的Composer,捆綁安裝的/usr/bin/php與/usr/local/php/bin/php版本衝突

後面發現是 apt-get install composer預設安裝了一個php到/usr/bin/php把之前的PHP版本覆蓋掉了……

# php -v
PHP 7.2.40 ......

#/usr/local/php/bin/php  -v
PHP 7.2.19 (cli) (built: Jul  3 2019 02:01:24) ( ZTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

參照度娘,修改composer 的PHP版本,發現還是不行……

qing@qing-PC:~/Desktop$ composer
PHP Warning:  require(Composer/autoload.php): failed to open stream: No such file or directory in /usr/bin/composer on line 9
<span style='color: #ff0000'>
Warning: require(Composer/autoload.php): failed to open stream: No such file or directory in /usr/bin/composer on line 9
</span>PHP Fatal error:  require(): Failed opening required 'Composer/autoload.php' (include_path='.:/usr/local/php/lib/php') in /usr/bin/composer on line 9
<span style='color: #ff0000'>
Fatal error: require(): Failed opening required 'Composer/autoload.php' (include_path='.:/usr/local/php/lib/php') in /usr/bin/composer on line 9

/usr/local/php/lib/php 目錄下根本找不到 'Composer/autoload.php' 檔案……

無奈只能解除安裝composer,刪除composer自動安裝裝的php版本,刪除phar等composer相關檔案 :

# apt-get remove composer
# rm -rf  /usr/bin/php
# rm -rf  /usr/bin/php7.2
# rm -rf  /usr/bin/phar*

還是通過官方的方式安裝composer吧……

# ln -s  /usr/local/php/bin/php  /usr/bin/php
# wget   https://getcomposer.org/installer
# mv installer composer-setup.php
# php composer-setup.php --install-dir=/usr/bin/ --filename=composer
# php /usr/bin/composer

檢視/usr/bin/php版本是否還是被覆蓋掉……

# php -v

還是通過軟連線建立的php版本(ln -s /usr/local/php/bin/php /usr/bin/php)

說明/usr/bin/php並沒有被覆蓋掉。

compo