exec错误代码2

时间:2011-09-13 17:56:56

标签: php exec unison

我正在使用Unison在两台服务器之间同步文件。我试图让PHP在上传文件后调用它。

我正在使用exec,但它返回的错误代码为2。

exec("/usr/bin/unison /var/www/html/files ssh://a2//var/www/html/files -batch -prefer newer -times -path uploads", $out, $r);

$out是一个空白数组,$r是2.错误代码2是什么意思?

P.S。我在命令行上运行了php -a,并复制并粘贴了该行,并且它有效。此外,exec('whoami')有效(并且与我在命令行中登录的用户相同)。

1 个答案:

答案 0 :(得分:1)

我修好了!使用popen(感谢@ sberry2A)我看到了一个错误。

  

致命错误:创建unison目录时出错/.unison:权限被拒[mkdir(/ .unison)]

我在运行命令之前运行chdir('/home/user');,然后看到有关HOME未设置的错误。

所以,我在命令之前添加了HOME=/home/user。现在它可以工作了,我也不需要chdir命令!

exec("HOME=/home/user /usr/bin/unison /var/www/html/files ssh://a2//var/www/html/files -batch -prefer newer -times -path uploads", $out, $r);