exec()函数不规则svn checkout

时间:2010-05-02 08:39:49

标签: php svn exec

我正在使用exec()在php中编写一些函数来查询svn。

The commands exec("svn list ".$myurl) works.

现在,我尝试使用checkout命令在svn存储库上获取路径。 当我将命令“svn checkout http://core.wordress.org/tags/2.9.2/ last-version”直接放在控制台中时,它可以工作。

但是当我使用exec()从php脚本执行此操作时,如下所示:

exec("svn checkout ".$myurl, $dir)

它不起作用。

你有个主意吗?

1 个答案:

答案 0 :(得分:0)

这可能有多种原因。

  • 不允许在其下运行的用户PHP写入您要签入的目录

  • SVN存储库需要在

  • 下运行的PHP用户未缓存的登录凭据
  • SVN结帐流程开始,但需要一些额外的输入,例如可怕的“你想接受此证书”和未签名的证书。

尝试将2>&1添加到命令中以将stderr重定向到stdout,并查看$dir。同时使用$return_var参数exec()

正如雅各布指出的那样,总是使用escapeshellargs()作为命令参数。