我正在使用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)
它不起作用。
你有个主意吗?
答案 0 :(得分:0)
这可能有多种原因。
不允许在其下运行的用户PHP写入您要签入的目录
SVN存储库需要在
SVN结帐流程开始,但需要一些额外的输入,例如可怕的“你想接受此证书”和未签名的证书。
尝试将2>&1
添加到命令中以将stderr重定向到stdout,并查看$dir
。同时使用$return_var
参数exec()。
正如雅各布指出的那样,总是使用escapeshellargs()
作为命令参数。