有時我們只需是需要使用 php-cli 去安裝一些 composer 依賴,然而在本地安裝 php 耗時費力,在一些老系統上還會有各種版本限制,比如我的 MacOS11 因為不被 asciidoc 支持(特麼的,MacOS12也不被支持...),導致無法成功安裝。
所以轉為 docker 容器變相實現,掛載項目工作目錄到容器的工作目錄上,在容器中的環境下,安裝依賴。
cd your_projects_workspace
# 將本地項目的工作目錄掛載到容器的 /usr/src 工作目錄
docker run -it --name php8.1-cli -v "$PWD":/usr/src -w /usr/src php:8.1-cli
docker start php8.1-cli
# 進入 php-cli 的 docker 容器
php -r "readfile('https://getcomposer.org/installer');" | php
mv composer.phar /usr/local/bin/composer
# 安裝個 zip 擴展
apt-get install libzip-dev
pecl install zip
echo extension=zip >> /usr/local/etc/php/conf.d/docker-php-ext-zip.ini
管理項目
# 登錄容器
docker exec -it php8.1-cli /bash
# 查看 your_projects_workspace 下的項目
ls -l
# cd your_project
# composer install -vvv
over!