宝塔中composer install卡住,首要检查执行用户是否为www而非root,因全局配置仅对当前用户生效;需用sudo -u www composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/重配,并确保禁用函数putenv/proc_open/pcntl_signal已删除、URL末尾带斜杠、键名严格为repo.packagist。

宝塔里 composer install 卡住,先查执行用户是谁
宝塔面板里点「一键部署」或「PHP 管理器」跑的 composer install,99% 不是 root 用户执行的,而是 www 用户。你用 root 跑了 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,配置只写进了 /root/.composer/config.json,www 根本读不到——这不是镜像没生效,是压根没读到配置文件。
验证方法很简单:
- 在宝塔终端执行
whoami,看当前是谁 - 查计划任务日志或部署日志,找类似
UID=1001的字段,再用id -un 1001查对应用户名 - 确认后,切过去重配:
sudo -u www composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer config -g repo.packagist 命令必须写全三要素
漏掉任意一项,配置就静默失效,不报错、不提示,composer install 还是走官方源。
正确命令长这样:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
缺一不可:
-
-g:必须加,否则只改当前目录下的composer.json,换个项目就失效 -
repo.packagist:键名严格为单数repo,不是repos,也不是repositories.packagist -
composer:这是 type 值,不是可选参数;省略它,Composer 2.0+ 会 fallback 到默认源 -
https://mirrors.aliyun.com/composer/:必须 HTTPS,且末尾/不能少;少一个斜杠,请求路径变成/composerpackages.json,直接 404
验证是否真写进去了:composer config -g repo.packagist,输出应为:{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
宝塔 PHP 禁用函数不放开,镜像再快也白搭
即使镜像 URL 正确、用户也对了,composer install 还是卡在 Loading composer repositories... 或报 putenv() has been disabled,就是宝塔 PHP 管理里禁用了关键函数。
进宝塔 → 【网站】→【PHP 管理】→ 选中你项目用的 PHP 版本(比如 80)→ 【禁用函数】:
- 手动删掉这三项:
putenv、proc_open、pcntl_signal(不是取消勾选,是整行删除) - 点【重载配置】,否则修改不生效
- 顺便确认
openssl和tokenizer模块已启用:php -m | grep -E "openssl|tokenizer"
项目级配置比全局更稳妥,尤其团队协作时
全局配置没法被 Git 跟踪,新人 clone 代码后行为不一致;某些项目 composer.json 里写了 "repositories": {"packagist.org": false},还会直接屏蔽全局设置。
推荐进项目根目录运行:
-
composer config repo.packagist composer https://mirrors.aliyun.com/composer/(去掉-g) - 它会自动在
composer.json顶层写入"repositories"字段,key 固定为"packagist",不会覆盖已有私有源 - 只要原来
repositories是对象(不是数组),这条命令就是安全合并
临时验证镜像效果,也可以不用改配置,直接加参数:composer install --repository-url=https://mirrors.huaweicloud.com/repository/php/
最常被忽略的一点:宝塔里跑的命令,执行用户、PHP CLI 环境、禁用函数、镜像配置,四者必须全部对齐,缺一不可。随便漏一个,composer install 就会卡住或超时。

















