php命令找不到是因软链接未配置,需执行ln -sf /www/server/php/82/bin/php /usr/local/bin/php(版本号按实际替换)并验证php -v及openssl、tokenizer扩展;composer卡顿多因putenv、proc_open、pcntl_signal被禁用,须手动删除禁用函数并重载php;全局安装composer后必须chmod +x赋权;国内应换阿里云镜像源避免超时。

php 命令找不到?本质是软链接没配对
宝塔把 PHP CLI 装在 /www/server/php/82/bin/php 这类路径里,但终端敲 php -v 报 command not found,不是 Composer 没装,是系统压根不认这个 php。Composer 内部调用的就是这个命令,它挂了,后面全白搭。
- 先确认你项目实际用的 PHP 版本(比如 82、80 或 74),别凭感觉——进宝塔【网站】→【PHP 管理】看清楚
- 执行:
ln -sf /www/server/php/82/bin/php /usr/local/bin/php(把82换成你的真实版本) - 验证:
php -v有输出才算过第一关;再跑php -m | grep openssl和php -m | grep tokenizer,两个都得出来——缺一个,Composer 启动直接报错 - 别碰
/usr/bin/php的软链,那是宝塔自己用的,改了可能面板失联
composer install 卡在 “Loading composer repositories…”?禁用函数没清干净
现象很典型:执行 composer install 后不动,或者报 putenv() has been disabled for security reasons。这不是网络慢,是宝塔 PHP 配置拦住了 Composer 必须用的三个函数。
- 进宝塔【网站】→【PHP 管理】→ 选中对应 PHP 版本 → 【禁用函数】
- 找到
putenv、proc_open、pcntl_signal—— 注意:是**手动删除这三行文字**,不是取消勾选 - 点【重载配置】或重启该 PHP 服务,改完不重载=白改
- 这三个函数的作用很实在:
putenv设环境变量(比如临时内存限制),proc_open启子进程解压包,pcntl_signal处理中断信号;少一个,install 就可能静默卡死
全局安装 composer 总提示 Permission denied?权限漏了一步
很多教程只写 mv composer.phar /usr/local/bin/composer,但 Linux 下没可执行权限,composer --version 就会报 Permission denied。这不是安装失败,是文件“不能跑”。
- 标准三步必须齐:
cd /tmp→curl -sS https://getcomposer.org/installer | php→mv composer.phar /usr/local/bin/composer && chmod +x /usr/local/bin/composer -
chmod +x是关键,不能省;如果提示/usr/local/bin不可写(某些精简系统),就换路径:mv composer.phar /root/composer.phar,再加一行echo "alias composer='php /root/composer.phar'" >> /root/.bashrc,最后source /root/.bashrc - 别信宝塔软件商店的一键安装,它常漏掉 PATH 或函数放开,出问题更难定位
composer require laravel/framework 死活不下载?源没换就是等超时
官方源 https://packagist.org 在国内基本不可达。composer require laravel/framework 卡在 Downloading... 十几分钟后报 cURL error 28: Operation timed out 是常态,不是你服务器或网络的问题。
- 全局换源(推荐):
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 验证是否生效:
composer config -g repo.packagist应该返回上面那串 URL - 只想当前项目换源(比如测试私有包):
cd /www/wwwroot/your-project,然后运行composer config repo.packagist composer https://mirrors.aliyun.com/composer/(去掉-g) - 换源之后第一次运行
composer install可能稍慢(要刷新本地缓存),但后续所有操作都会明显提速
最麻烦的不是哪一步不会做,而是某一步“以为做完了”,比如删了禁用函数但没重载 PHP,或者软链接指向了错误的版本号——这些地方一漏,问题就藏得深,表现还五花八门。










