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 装在
这类路径里,但终端敲
报
,不是 Composer 没装,是系统压根不认这个
。Composer 内部调用的就是这个命令,它挂了,后面全白搭。
先确认你项目实际用的 PHP 版本(比如 82、80 或 74),别凭感觉——进宝塔【网站】→【PHP 管理】看清楚
执行:
(把
换成你的真实版本)
验证:
有输出才算过第一关;再跑
和
,两个都得出来——缺一个,Composer 启动直接报错
别碰
的软链,那是宝塔自己用的,改了可能面板失联
composer
install 卡在 “Loading composer repositories…”?禁用函数没清干净
现象很典型:执行
后不动,或者报
。这不是网络慢,是宝塔 PHP 配置拦住了 Composer 必须用的三个函数。
进宝塔【网站】→【PHP 管理】→ 选中对应 PHP 版本 → 【禁用函数】
找到
、
、
—— 注意:是**手动删除这三行文字**,不是取消勾选
点【重载配置】或重启该 PHP 服务,改完不重载=白改
这三个函数的作用很实在:
设环境变量(比如临时内存限制),
启子进程解压包,
处理中断信号;少一个,install 就可能静默卡死
全局安装 composer 总提示 Permission denied?权限漏了一步
很多教程只写
,但 Linux 下没可执行权限,
就会报
。这不是安装失败,是文件“不能跑”。
Composer 2.9.6
Composer 2.9.6 是 PHP 生态中高效、稳定的依赖管理工具。此版本在性能与兼容性上进一步优化,改进了依赖解析算法,提升大型项目中的安装与更新速度。它支持并行下载任务,显著减少等待时间,并增强了与私有仓库及镜像源的交互稳定性。同时修复了多项命令行交互与内存使用相关的缺陷,确保在复杂依赖关系下依然可靠运行。无论是新项目初始化还是现有系统维护,Composer 2.9.6 都能为开发者提供流畅、精准的依赖管理体验。
下载
标准三步必须齐:
→
→
是关键,不能省;如果提示
不可写(某些精简系统),就换路径:
,再加一行
,最后
别信宝塔软件商店的一键安装,它常漏掉 PATH 或函数放开,出问题更难定位
composer require laravel/framework 死活不下载?源没换就是等超时
官方源
在国内基本不可达。
卡在
十几分钟后报
是常态,不是你服务器或网络的问题。
全局换源(推荐):
验证是否生效:
应该返回上面那串 URL
只想当前项目换源(比如测试私有包):
,然后运行
(去掉
)
换源之后第一次运行
可能稍慢(要刷新本地缓存),但后续所有操作都会明显提速
最麻烦的不是哪一步不会做,而是某一步“以为做完了”,比如删了禁用函数但没重载 PHP,或者软链接指向了错误的版本号——这些地方一漏,问题就藏得深,表现还五花八门。
/www/server/php/82/bin/phpphp -vcommand not foundphpln -sf /www/server/php/82/bin/php /usr/local/bin/php82php -vphp -m | grep opensslphp -m | grep tokenizer/usr/bin/phpcomposer installputenv() has been disabled for security reasonsputenvproc_openpcntl_signalputenvproc_openpcntl_signalmv composer.phar /usr/local/bin/composercomposer --versionPermission deniedcd /tmpcurl -sS https://getcomposer.org/installer | phpmv composer.phar /usr/local/bin/composer && chmod +x /usr/local/bin/composerchmod +x/usr/local/binmv composer.phar /root/composer.pharecho "alias composer='php /root/composer.phar'" >> /root/.bashrcsource /root/.bashrchttps://packagist.orgcomposer require laravel/frameworkDownloading...cURL error 28: Operation timed outcomposer config -g repo.packagist composer https://mirrors.aliyun.com/composer/composer config -g repo.packagistcd /www/wwwroot/your-projectcomposer config repo.packagist composer https://mirrors.aliyun.com/composer/-gcomposer install