我有两个脚本。通过浏览器从PHP脚本调用svn更新不起作用
- 运行的更新,并调用了shell_exec( 'SVN更新'),并了shell_exec( 'SVN ST')
- 运行的mysqldump了shell_exec( '的mysqldump PARAMS')
的SVN脚本不是运行更新命令,svn st
打印结果,但不是svn update
我试图声明参数时调用svn更新例如 'svn更新'。 dir。 '--username myuser --password mypasswd --non-interactive'; - 仍然没有 玩大部分参数
如果这是与二进制文件/权限/组相关的东西,我没有看到它。 mysqldump命令正常工作,正在生成一个文件,为什么svn不更新文件系统?
请不要建议在PHP中使用核心SVN类。这不是一个选项,我没有完全控制服务器,并且该模块不可用。
感谢您的帮助,
-hbt
PS:重要的事情在这里提及。当通过命令行调用时,脚本工作。只有通过Web浏览器调用时才会失败。
您确定在从web调用'shell_exec('svn update')'的结果为空时浏览器吗?很可能是权限问题(svn工作目录和http进程的用户不同),但在这种情况下,应该出现“svn:无法打开文件”.svn/lock':Permission denied“等错误。 – 2010-06-01 07:25:01
您是否已经尝试捕获输出并将其转储到屏幕上/在调试时查看输出?即。 '$ output = shell_exec('svn update ...');的print_r($输出);'。你确定你没有忘记把文件夹作为变量引用(因为给出的例子包含dir而不是$ dir,除非dir被定义为一个命名常量)。 – wimvds 2010-06-01 07:25:41
@alexander 确实发布了许可。这是.svn目录。 svn update命令试图在那里写东西。 感谢您的帮助 – hbt 2010-06-02 10:58:07