需手动创建PHP软链接、解禁putenv等函数、正确安装Composer并配置国内镜像源,四者缺一不可。执行ln -sf /www/server/php/XX/bin/php /usr/local/bin/php,删除PHP禁用函数,用curl安装Composer并赋权,再配置阿里云镜像源。

php 命令找不到?先打通 CLI 环境
宝塔里装了 PHP,但终端敲 php -v 报 command not found——这不是 Composer 没装,是系统压根没认出你用的 PHP。宝塔把 PHP CLI 放在 /www/server/php/82/bin/php 这类路径下,不手动建软链接,composer 就没法启动。
- 进宝塔【网站】→【PHP 管理】,确认你项目实际用的版本(比如 82、80 或 74),别猜
- 执行:
ln -sf /www/server/php/82/bin/php /usr/local/bin/php(把82换成你自己的版本) - 验证:
php -v有输出,且php -m | grep openssl和php -m | grep tokenizer都得有结果——缺一个,Composer 直接启动失败
putenv、proc_open、pcntl_signal 被禁用了?删掉,不是取消勾选
执行 composer install 卡住不动,或报错 putenv() has been disabled for security reasons——这和网速无关,是宝塔 PHP 配置主动拦住了 Composer 必须调用的底层函数。
- 进宝塔【PHP 管理】→ 选中对应版本 → 【禁用函数】
- 找到
putenv、proc_open、pcntl_signal这三行,**逐个删除文字内容**(不是取消勾选,也不是打叉) - 点【重载配置】或重启该 PHP 服务——改完不重载 = 白改
全局安装 composer 的最小可行命令集
别信“一键安装脚本”或宝塔软件商店里的 Composer 插件,它们常漏 PATH、漏权限、漏函数解禁,后续调试更费劲。三步命令最稳,全程在宝塔【终端】里执行:
cd /tmp-
curl -sS https://getcomposer.org/installer | php(生成composer.phar) mv composer.phar /usr/local/bin/composer && chmod +x /usr/local/bin/composer
chmod +x 这一步不能省。没权限,composer --version 就会报 Permission denied;如果提示 /usr/local/bin 不可写,就换路径:mv composer.phar /root/composer.phar,再加一行 echo "alias composer='php /root/composer.phar'" >> /root/.bashrc,最后 source /root/.bashrc。
不换源?composer require 就是等超时
国内直连 packagist.org 基本不可用。composer require laravel/framework 卡在 Downloading... 十几分钟后失败,是常态,不是你网络差。
- 全局换阿里云镜像(推荐,同步及时):
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 验证是否生效:
composer config -g repo.packagist应返回上面那个 URL - 如果只想当前项目用新源,去掉
-g参数,在项目目录下运行同一条命令即可
真正容易被忽略的是:函数禁用、软链接、权限赋值、镜像源,四者缺一不可。少做一步,后面所有 composer 命令都会在某个环节静默失败。









