Composer 1(已弃用)和 Composer 2 在 Web Premium、Web Business 和云主机套餐上预装可用。使用时可能遇到包安装、权限或内存问题。按以下步骤排查:
提示升级到 Composer 2

从 PHP 8.0 起,Composer 1 不再受支持。若用 Composer 1 配合 PHP 8.0+ 安装包,会提示升级到 Composer 2。请改用 composer2 命令,例如:
composer2 require gumlet/php-image-resize
若所需命令或包仅 Composer 1 可用,可临时降低 PHP 版本;但出于安全建议更新脚本以适配最新 PHP。
权限被拒绝(Permission denied)


Composer 1 和 2 在服务器上全局安装,版本固定。运行 composer self-update 等需更高权限的命令会报“Permission denied”。解决方法是为每个需要的项目本地安装 Composer,参考《如何在本地安装 Composer》。安装后会出现 composer.phar 文件,之后可用以下格式本地运行任意命令:
./composer.phar [COMMAND]
例如本地更新:./composer.phar self-update --2
内存耗尽(Memory exhausted)
若运行 Composer 命令后报内存耗尽,说明项目超出套餐内存限制。可加无限内存参数运行:
- 全局 Composer:php -d memory_limit=-1 /usr/local/bin/composer [COMMAND]
- 本地 Composer:php -d memory_limit=-1 composer.phar [COMMAND]
若仍报错,说明项目需更多资源,可升级套餐,或在本地机器运行命令再将项目上传。
Composer 依赖要求的 PHP 版本
通过 SSH 运行 Composer 时使用的是套餐默认 PHP 版本,而非单个网站设置的 PHP 版本。更改某网站的 PHP 版本只影响浏览器中网站的运行,不影响 SSH/Composer 使用的版本。解决办法:
- 更改套餐的 PHP 版本使默认 CLI PHP 满足要求;或
- 显式调用所需 PHP 二进制运行 Composer:
/opt/alt/[php-version]/usr/bin/php /usr/local/bin/composer2 [composer-command]
将 [php-version] 替换为所需版本(如 php84),[composer-command] 替换为实际命令。
来源:Hostinger 官方帮助文档