CentOS上的PHPSVN在svn_commit上给出“Not Found”错误

时间:2013-07-23 04:47:34

标签: php svn centos

我有一个设置,其中管理员需要能够编辑.phtml文件。但是,由于文件都在subversion控件下,我想在编辑后使用PHPSVN提交文件。

生产服务器是CentOS。当我使用svn2web时,我将我的工作副本与名为 / home / working-copies 的目录中的实际文件系统分开。

每个文件都可以通过表单中的textarea进行编辑。当用户提交表单时,textarea的内容将使用file_put_contents写在工作副本文件上。

理想情况下,该文件将通过svn_commit提交。但是,而不是提交我得到“未找到”的错误。如果我再次尝试保存/ svn_commit,则会出现“尝试锁定已锁定的目录”的错误。该文件已成功覆盖,但提交失败。

然后我必须手动(通过命令行)执行svn清理。当工作副本解锁时,我也能够成功手动提交。

我一直无法找到“未找到”错误的任何文档,但我确信它来自svn_commit。我也确定提交文件的尝试是锁定目录的。

  1. SVN和PHPSVN扩展都已安装。
  2. svn_client_version()在服务器上返回正确版本的SVN(这似乎表明PHPSVN扩展正在运行......可能?)
  3. 整个过程在我的本地Ubuntu机器上运行。这可能是CentOS服务器上PHPSVN的问题吗?
  4. 我不确定如何进一步调试此问题,我感谢任何输入。谢谢。

    编辑(2013-07-23) 虽然我还没有设法使用PHPSVN扩展来解决问题,但我能够使用exec()。这是我使用的语法,以防将来帮助任何人:

    // The flags used help get around any SSL certificate errors.
    
    exec('cd /home/working-copies/testfolder; svn commit "test.phtml" --username "username" --password "pw" --no-auth-cache --non-interactive --trust-server-cert -m "test svn" 2>&1', $output, $returnStatus);
    
    // Print the output to help debug.
    
    if ( $returnStatus )
    {
       print_r($output);
    }       
    

    我仍然对使用PHPSVN时遇到的“未找到”错误感到非常好奇,所以我会打开这个问题以期找到答案。再次感谢。

0 个答案:

没有答案