Ubuntu服务器切换PHP8.1执行composer update报错求助
解决PHP 8.1执行composer update报错的问题
问题核心
报错Could not open input file: composer本质是系统找不到composer的可执行文件——要么你没指定composer的完整路径,要么当前目录不存在本地的composer.phar文件。
具体解决方案
1. 先定位composer的绝对路径
执行命令找到composer的安装位置:
which composer # 若上述命令无结果,用全局搜索 find / -name composer -type f 2>/dev/null
执行后会得到类似/usr/local/bin/composer的路径结果。
2. 用PHP 8.1完整路径+composer完整路径执行命令
把找到的composer路径替换到命令中,直接指定版本执行:
/opt/php81/bin/php /usr/local/bin/composer update --working-dir=/var/www/user/data/www/myweb.site
如果你的项目目录里有本地安装的composer.phar,直接指向这个文件即可:
/opt/php81/bin/php /var/www/user/data/www/myweb.site/composer.phar update
3. 可选:临时切换系统默认PHP版本到8.1
如果需要频繁用PHP 8.1执行命令,可通过以下命令临时切换系统默认PHP版本:
sudo update-alternatives --set php /opt/php81/bin/php
切换完成后直接执行常规composer命令即可:
composer update --working-dir=/var/www/user/data/www/myweb.site
用完后若要切回PHP 7.4,执行:
sudo update-alternatives --set php /usr/bin/php
内容的提问来源于stack exchange,提问作者igramnet
相关产品推荐
相关产品推荐

