2019/06/12

[PHP] 指定專案特定 PHP 版本以下載符合的 composer 套件

前言

一般來說,開發人員的機器總是會安裝最新版本的 PHP 來開發

但是總是會有久遠要維護的專案,而 PHP 版本可能也是久遠的舊版本

如果想透過 Composer 來管理套件,但又想要限制特定支援的安裝版本套件,那該怎麼辦呢?

問題

開發環境用 PHP 7.3,維護專案採用 PHP 5.6.1

在不變更開發環境的 PHP 版本之下,專案更新套件時會下載到最新的版本

解決方法

在 Composer 有個方便的設定

composer.json

只要在 config 加上 platform 的 php 版本即可

    ...
    "config": {
        "platform": {
            "php": "5.6.1"
        }
    },
    ...

也可用指令方式來下命令達到一樣的效果

composer config platform.php 5.6.1

更新 composer

修改 composer.json 後執行更新,即會做降版動作

$ composer update

References