Debian 上 Composer 常见错误与修复指南
一 安装与权限类问题
sudo apt remove composerphp -r "copy('https://getcomposer.org/installer','composer-setup.php');"
php -r "if(hash_file('sha384','composer-setup.php')==='93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8'){echo 'Installer verified';}else{unlink('composer-setup.php');}echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
composer --versionsudo apt install php php-cli composer 使用仓库版本,但遇到上述异常时优先采用官方脚本方案。二 扩展缺失类问题
sudo apt update
sudo apt install php-zip php-mbstring php-xml php-curl php-json
php -m | grep -E 'zip|mbstring|xml|curl|json'composer install 或 composer require ...三 国际化库 lib-icu 版本过低
php -r "echo INTL_ICU_VERSION;\n"sudo apt update
sudo apt install libicu-dev
sudo apt remove php-intl
sudo apt install php-intl
php -r "echo INTL_ICU_VERSION;\n",确认 ≥ 报错要求后执行 composer installphp:8.2-fpm 镜像自带较新 ICU)或临时降级相关依赖/引入 polyfill 作为过渡方案。四 内存耗尽问题
php -d memory_limit=-1 /usr/local/bin/composer require hwi/oauth-bundle
# 或
COMPOSER_MEMORY_LIMIT=-1 composer require hwi/oauth-bundle
php --ini 确认路径),设置 memory_limit = 2G 或 -1(不推荐生产环境设为 -1)。五 网络与多 PHP 版本问题
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
# 如需代理
composer config -g http.proxy http://127.0.0.1:1080
composer config -g https.proxy https://127.0.0.1:1080
php8.2 /usr/local/bin/composer ... 指定解释器路径;必要时在 composer.json 的 config.platform.php 明确目标版本以避免平台检查误报。