由于我无法继续我的项目工作,现在有些事情让我感到非常紧张。我已经切换到另一台计算机,不能让PHP和svn可执行一起很好地工作:)PHP:在exec()中使用SVN子命令和选项会导致“分段错误”?
$output = "";
$value = "";
exec("/opt/subversion/bin/svn info --username something --password something --non-interactive <REPO_URL> 2>&1", $output, $value);
var_dump($output);
var_dump($value);
输出:
array(0) { } int(139)
139 =分割的错,但它并没有太大的帮助因为我不知道可能导致它的原因。在终端中直接运行相同的代码就像魅力一样,但如果PHP试图通过exec()来执行相同的操作,则会出现问题。
如果我去掉认证,我会得到正确的输出(认证请求)。
修改Subversion可执行文件到777似乎没有任何区别。
如果它是任何使用的,它的Mac OS X 10.5.8,PHP 5.2.11和Apache 2.2.13
到目前为止,它在每个系统上工作得非常好,代码实际上是商业应用程序的一部分。 Ommiting重定向输出不会影响任何内容。该问题只出现在我的本地计算机上。 – 2009-11-25 23:48:05
我无法编辑我的评论:我已经尝试过'system()',但它返回一个空字符串作为输出,'int(139)'作为返回值,几乎与'exec()'相同。 – 2009-11-26 00:05:10