如何防止 YUM 安裝依賴項?

如何防止 YUM 安裝依賴項?

我正在嘗試設定具有多個 php 版本的 CentOS 伺服器。
到目前為止,我已經成功地透過安裝 REMI 軟體集合來做到這一點,php56並且php70我讓 Apache 運行了不同的版本等。

到目前為止,一切都很好。在命令行上鍵入php不會提供任何信息,但php56 -v會提供例如信息。到目前為止,這是預期的行為。

我現在有幾個問題:
1 - 我現在很好奇具有php在命令列上使用的腳本的軟體會發生什麼。喜歡作曲家腳本嗎?顯然,如果腳本嘗試運行命令列 php,它們將會失敗。

1a.例如, 假設我必須在php實際之間建立符號連結是否正確?php70

1b.是否還需要連結其他可執行檔?我看到了一些phar有聯繫的地方和其他一些東西。我如何知道所有需要連結的文件?

2 - 如果我嘗試透過 YUM 安裝phpmyadmin,它會下載php 5.4軟體包。這本身就在我心中提出了許多問題。在這種情況下我該怎麼辦,因為我絕對不希望 5.4 靠近我的系統。我認為顯然如果我執行上面的步驟 1a,YUM 仍然會要求下載 php 依賴項。有沒有辦法可以防止這種情況發生,或者可能向 YUM「解釋」php 已經安裝為 php70 了?或只是忽略依賴性?

抱歉,如果這些都是愚蠢的問題,我在 Linux 方面的經驗有限,對 YUM 肯定沒有足夠的了解。這也是我第一次遇到多版本問題。謝謝!


更新:

據我所知,我已經安裝了特定於版本的軟體包,這主要是因為我想要 Apache 的多個版本。我想問題是如何處理其他想要在命令列上運行 php 的軟體,如何處理 YUM php 依賴項以及這種情況的常用方法是什麼?

答案1

注意:PHP 5.6 和 7.0 均已終止生命週期,僅由社區支持最大努力;我衷心推薦使用支援的版本(7.1+)。

1 - 我現在很好奇那些在命令列上使用 php 的腳本的軟體會發生什麼事。

由於大多數腳本使用“/usr/bin/env php”,因此您只需在執行腳本之前啟用正確的版本即可

module load php71
php -v
composer install

1a.例如,假設我必須在 php 和實際 php70 之間建立符號連結是否正確?

是的,它可以工作,您也可以安裝php56-syspaths或者php70-syspaths包將為您完成工作

2 - 如果我嘗試透過 YUM 安裝 phpmyadmin..

打包的應用程式依賴預設的 PHP,並且不知道已安裝的 SCL。

對於多個版本,安裝會更加簡單:

  • 來自 remi-php## 儲存庫的預設版本(php-* 套件)
  • 來自 remi-safe 儲存庫的替代版本(php##-php* 套件)

請參閱嚮導說明

注意:EPEL 儲存庫中的應用程式(例如phpMyAdmin、GLPI、Wordpress、roundcubemail...)將無法與最新的PHP 版本(7+)一起使用,因此您也必須從「remi」儲存庫取得最新版本(如果可用)。

相關內容