【发布时间】:2019-12-12 19:10:25
【问题描述】:
当我使用 PuTTY 连接到我的服务器,并在控制台中手动输入所有 git 命令时,git pull 将显示如下内容:
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 2 (delta 1), reused 2 (delta 1), pack-reused 0
Unpacking objects: 100% (2/2), done.
但是,当我通过 PHP 的 shell_exec() 运行相同的命令时,我什么也得不到。
它执行所有请求的操作,但在此过程中不显示任何信息。甚至没有最后的成功或失败。它没有输出。
PuTTY 控制台显示的所有这些信息来自哪里,但 PHP 不会输出?如何通过 PHP 访问这些信息?
【问题讨论】:
-
你能给我们看看实际的 PHP 代码吗?在 PHP 中与 shell 交互并不总是那么简单。
-
@ErwinMoller 正如我所说,我的代码执行所有请求的操作。只是它在我等待的过程中没有给我有用/有趣的输出。
-
当您说命令运行成功时,我相信您。只是与 Unix 风格的程序交互并不总是那么简单。 phd 在下文中为您提供了一些背景知识。