直接安装Composer不验证哈希、不换源、不处理权限,大概率在install或create-project时卡住或报错;需确认PHP≥7.4(推荐≥8.1)、CLI模式未禁用proc_open等函数,全局安装composer.phar并配置腾讯镜像源,避免root运行。

直接装就能用,但不验证哈希、不换源、不处理权限,大概率会在 composer install 或 composer create-project 时卡住或报错。
确认 PHP 环境是否就绪
Composer 本质是 PHP 脚本,必须依赖命令行可用的 PHP。很多人装完发现 php -v 正常,但 composer 执行报错,问题往往出在这里:
-
php -v显示版本 ≥ 7.4(推荐 ≥ 8.1),且不含disabled functions中的proc_open、curl_exec、exec - 检查
php --ini输出的配置路径,打开对应php.ini,确认disable_functions行没禁掉上面几个函数 - 如果用宝塔或自编译 PHP,注意 CLI 模式和 Web 模式配置可能不同,优先改 CLI 对应的
php.ini
下载并安装 composer.phar 到系统级路径
别用 php composer-setup.php 留在当前目录——那只是局部脚本,每次都要 php composer.phar,非常反直觉。
- 执行:
curl -sS https://getcomposer.org/installer | php(自动下载+运行安装器) - 验证成功后,把生成的
composer.phar移到全局可执行位置:sudo mv composer.phar /usr/local/bin/composer - 加执行权限(部分系统需要):
sudo chmod +x /usr/local/bin/composer - 运行
composer --version确认输出类似Composer version 2.7.7
必须立刻配置国内镜像源
默认走 packagist.org,国内直连基本超时,composer install 卡在 “Loading from cache” 或直接报 cURL error 28 是最常见现象。
- 全局设置(推荐):
composer config -g repo.packagist composer https://packagist.phpcomposer.com - 如遇
https://packagist.phpcomposer.com不可用(2026 年已停更),改用腾讯源:composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/ - 验证是否生效:运行
composer config -g repo.packagist,输出应为上述镜像地址 - 注意:这个配置写在
~/.composer/config.json,不是项目级的composer.json
绕过 root 权限限制(尤其 Ubuntu/Debian 默认 sudo 用户)
很多教程跳过这点,结果一跑 composer create-project laravel/laravel 就报 Do not run Composer as root,其实不是“不能用 root”,而是 Composer 主动拒绝——它怕你误操作污染系统文件。
- 方案一(推荐):用普通用户执行所有命令,别加
sudo。确保该用户对项目目录有读写权限 - 方案二(仅调试):临时允许 root 运行(不推荐长期用):
composer config -g allow-plugins true,再加--no-interaction参数绕过交互提示 - 关键点:即使你是 root 用户登录,Composer 也会检测
USER环境变量;如果用sudo su -切换,USER变成 root,就会触发拦截
真正容易被忽略的是 PHP CLI 的 disable_functions 和镜像源的时效性——2026 年多数老教程写的 phpcomposer.com 已不可用,而 suhosin 类扩展在新版 PHP 中虽已移除,但某些定制环境仍可能残留限制逻辑。装完务必跑一次 composer diagnose,它比 --version 更能暴露真实问题。











