使用PHP通过SSH运行终端命令返回不同版本



我的应用程序发布在服务器和中

我ssh到机器,cd到主目录并运行

php -v然后我得到了PHP 7.4.5 (cli) (built: Apr 18 2020 01:11:34) ( NTS )

如果我在SSH 上运行相同的命令

ssh MY_USER@SERVER_IP "php -v"然后我得到了PHP 5.6.22-2 (cli)

我正试图远程触发composer install,但由于php版本。

当然,我想用php7.4运行该命令。

有什么建议吗?

感谢

Ps。如果我运行"whoami",我会得到相同的用户。

由于可以使用whereis命令检查php-cli的运行位置,因此也可以对composer执行同样的操作。where is命令返回脚本的路径。

所以当你说whereis php时,你会看到这样的回应:

php: /usr/bin/php /usr/share/php /usr/local/php7/bin/php

如果你想使用php7.4.5,那么你应该弄清楚php7.4.5的路径在哪里。为此,您可以ssh到机器cd的主目录并执行whereis php。然后,您可以获得一个位置,也可以与其他命令一起使用。

现在我们需要知道作曲家是从哪里来的:

whereis composer
composer: /usr/bin/composer

最后,我们可以执行所需的命令,这是php脚本的路径和composer脚本的路径之一。例如:

/usr/bin/php /usr/bin/composer
______
/ ____/___  ____ ___  ____  ____  ________  _____
/ /   / __ / __ `__ / __ / __ / ___/ _ / ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
____/____/_/ /_/ /_/ .___/____/____/___/_/
/_/
Composer version 1.10.5 2020-04-10 11:44:22
Usage:
command [options] [arguments]

就是这样。

最新更新