PHP命令行不可用需先创建软链接至宝塔PHP二进制文件,再清理禁用函数putenv/proc_open/pcntl_signal,最后全局安装Composer并配置阿里云镜像源。
PHP 命令行不可用?先打通
命令链路
宝塔默认不把 PHP CLI(命令行版)加入系统 PATH,所以直接敲
很可能报
——这不是 Composer 没装好,而是 PHP 本身没“露面”。
必须手动创建软链接,指向宝塔实际安装的 PHP 二进制文件:
• 查看你用的是哪个 PHP 版本(比如 PHP 8.2),对应路径是
• 执行:
• 再运行
,有输出才算真正就位。
否则后续所有
命令都会失败或静默报错。
禁用函数不清理,
必卡死
宝塔 PHP 管理里默认禁用了
、
、
这三个函数——而 Composer 安装依赖时必须调用它们,尤其是
用于设置
环境变量
(如临时
镜像源
、内存限制等)。
现象很典型:执行
后卡在 “Loading
composer
repositories with package information…” 不动,或者直接报错
。
解决方法:
• 进入
宝塔面板
→ 【网站】→【PHP 管理】→【禁用函数】
• 找到并**逐个删除**这三个函数名(不是勾选,是删掉)
• 修改后记得点击【重载配置】或重启 PHP 服务
全局安装 Composer 的最小可行命令集
别被各种“一键脚本”带偏,最稳的方式就是三步命令,全程在宝塔【终端】里执行(无需额外下载 installer.
php
):
•
•
(生成
)
•
验证:
应返回类似
。
注意:
这一步不能省,否则权限不足,某些系统会提示
。
国内网络下不换源,
就是慢性等待
官方源在境内几乎不可用,首次运行
可能卡住 10 分钟以上甚至超时失败。
必须设国内镜像,推荐
阿里云
(同步及时、稳定):
• 全局生效:
• 如果只想对当前项目生效(比如测试不同源),去掉
参数,在项目目录下运行:
换源后,
速度通常从分钟级降到秒级。但要注意:某些私有包或 dev 分支可能未同步到镜像,生产环境上线前建议用
试跑一次官方源确认兼容性。
最常被忽略的一点:Composer 本质是 PHP 脚本,它的一切行为都受当前 PHP 环境约束——不是装上就能用,而是“PHP 能跑,Composer 才能动;PHP 函数放开,Composer 才能装;PHP 版本匹配,依赖才不会爆错”。每一步断在哪,得顺着 PHP CLI → 禁用函数 → 镜像源这个链条去查,而不是反复重装 Composer。
phpphp -vcommand not found/www/server/php/82/bin/phpln -sf /www/server/php/82/bin/php /usr/local/bin/phpphp -vcomposercomposer installputenvproc_openpcntl_signalputenvcomposer installputenv() has been disabled for security reasonscd /tmpcurl -sS https://getcomposer.org/installer | phpcomposer.pharmv composer.phar /usr/local/bin/composer && chmod +x /usr/local/bin/composercomposer --versionComposer version 2.7.7chmod +xPermission deniedcomposer requirecomposer require laravel/frameworkcomposer config -g repo.packagist composer https://mirrors.aliyun.com/composer/-gcomposer config repo.packagist composer https://mirrors.aliyun.com/composer/composer install--no-cache