【发布时间】:2014-02-06 20:41:35
【问题描述】:
所以我已经阅读了大约 10 个答案,每个人似乎都提出了由于某种原因不起作用的想法。
我正在尝试执行一个简单的命令行,它是“svn update”,但它不工作,它返回 NULL
所以我已经尝试过反复试验的方式,现在这就是我可以说的;
我已经尝试了几个命令,例如
<?php
exec ("cmd /c ping 127.0.0.1 -n 1 > results.txt ");
?>
和
<?php
exec ("cmd /c chdir > results.txt ");
?>
两者都有效..事实上 chdir 表示执行该行的 php 文件存储在 pc 上的确切位置..
所以现在的问题是,为什么有些命令是这样的:
<?php
exec ("cmd /c dir > results.txt ");
?>
不工作?即使在文件夹中我有多个文件和目录,此结果和空值也是如此。
以及为什么如果我使用命令提示符移动到存储 php 文件的文件夹并键入 svn update 它可以正常工作
<?php
exec ("cmd /c svn update > results.txt ");
?>
返回 NULL?
非常感谢任何帮助。
感觉由于配置设置我有一些限制,因为当我尝试在本地使用 apache 时,我可以让大部分命令工作(shell_exec、system、exec,即使没有 cmd /c)
【问题讨论】:
-
所以,当您从 php
exec函数运行 'cmd /c svn update > result.txt' 命令时,它不起作用。如果你自己从控制台运行它,它可以工作吗? -
是的,完全正确.. 但是如果从控制台运行 dir 命令,我也会遇到同样的问题,它会给我正确的输出。而例如 ping 和 chdir 给出相同的结果
-
如果你绕道创建一个 .bat 文件并让 php 运行该文件而不是 'svn up' 命令呢?
-
这是我一整天都在尝试的..我也尝试了同样的事情,但没有任何改变..执行一些命令但不是 dir 不是 svn