使用Composer安装PHP包报错:user/bin/env: 'php' 不存在
解决Composer安装时"user/bin/env: 'php' : no such file or directory"错误
问题原因
系统找不到PHP可执行文件,大概率是这几种情况:
- 服务器没装PHP的CLI版本
- PHP的路径没加到系统
PATH环境变量里 - Composer脚本的启动行无法识别PHP的位置
解决办法
1. 先确认PHP CLI是否安装
跑这个命令看看系统里有没有PHP CLI:
which php
如果没返回任何内容,说明没装,去Plesk面板装:
- 登录Plesk,进工具与设置 > 组件
- 在「Web hosting」分类里找到你要用的PHP版本,勾选对应的「CLI版本」,点安装就行
2. 用PHP绝对路径直接跑Composer
如果PHP已经装了,但PATH没配置,直接指定PHP的绝对路径执行:
先找PHP的绝对路径,Plesk里一般是/opt/plesk/php/[你的PHP版本]/bin/php,比如PHP8.2就是/opt/plesk/php/8.2/bin/php,然后执行:
/opt/plesk/php/8.2/bin/php /usr/bin/composer require stichoza/google-translate-php
提示:不确定Composer路径的话,用which composer查一下
3. 把PHP路径加到PATH里(永久生效)
编辑用户的bash配置文件(比如~/.bashrc或者~/.profile),添加PHP路径:
echo 'export PATH=/opt/plesk/php/8.2/bin:$PATH' >> ~/.bashrc
然后重新加载配置:
source ~/.bashrc
之后就能直接用composer命令了
4. 修改Composer的启动行(临时方案)
如果上面的方法都不行,改一下Composer脚本的开头,把#!/usr/bin/env php换成PHP的绝对路径:
sed -i 's/#!\/usr\/bin\/env php/#!\/opt\/plesk\/php\/8.2\/bin\/php/' /usr/bin/composer
注意:这个方法在Composer更新后会失效,优先用前三种方案
内容的提问来源于stack exchange,提问作者Jeppe Donslund
相关产品推荐
相关产品推荐

