我正在尝试运行此exec
exec('svn export -r '.$rev2.' '.$repourl.'/'.$dir.$parts[$j].' cache/diff/'.$dir.$parts[$j]);
等于:
svn export -r 1192 file:///var/svn/Repo/folder/file.xml cache/diff/folder/file.xml
当我尝试脚本时,它根本不会导出文件(使用另一个函数创建了folde,因此有一个。)
但如果我尝试以用户www-data(从命令行)运行svn导出,它就可以工作。
所以我不明白为什么它不应该从PHP工作..也许一些配置? 希望有人可以帮忙, 提前谢谢
修改 尝试svn(svn)的完整路径 执行官:
exec('/usr/bin/svn export -r '.$rev2.' '.$repourl.'/'.$dir.$parts[$j].'
结果
/usr/bin/svn export -r 1192 file:///var/svn/Repo/folder/file.xml cache/diff/folder/file.xml
仍然没有变化,文件未导出。
答案 0 :(得分:0)
这不是配置。或者说,不是直接的。您的PHP实例似乎设置为无法写入您指定的文件夹的用户。 chmod
或chown
以及PHP运行的用户可以写入的内容。
旁注:我为laravel编写了一个SVN库。然而,它是独立的。您可能希望通过使用它来减轻负担 - 它本身使用PECL SVN扩展。
答案 1 :(得分:0)
找到解决方案, 问题与不让exec运行的全局变量有关。