如何启用php系统(用户:apache)来添加文件并提交对SVN的更改


How can I enable php system (user:apache) to add file and commit changes to SVN?

我正在制作一个文件上传表单。我还想将上传的图像添加到SVN,然后提交更改。

类似

system('svn add *', $ret1);
system('svn commit -m "the files were added and committed"', $ret2);
echo '<hr />add: ' . $ret1';
echo '<hr />commit: ' . $ret2';

问题是php以"apache"的身份运行,因此它无法对SVN进行更改。我做了正确的事情,寻找了类似的问题,找到了这个,但我不知道我应该在那里使用什么密码。使用我的ssh名称/密码不起作用,我的svn帐户有自己的吗?

您必须意识到,应该尽可能避免使用直接的系统调用,尤其是如果脚本驻留在公共Web空间中,无论是否受.htaccess保护。

我强烈建议您查看手册的这一部分,并在可能的情况下使用这些函数构建脚本。

  • 希望您正在运行'nux,在这种情况下,启动和运行就像大多数发行版上的sudo apt-get php5-svn一样简单。

    快乐的编码朋友

svn--用户名--密码将允许您按照自己的意愿运行svn事务。希望这能有所帮助!

我的svn帐户有自己的吗?

是的,你的svn服务器有一个自己的帐户,通常与你系统上的帐户无关。您应该知道它,因为您需要它来连接到SVN服务器并进行提交。

您可以先在shell中测试要从PHP执行的命令,从而验证用户名和密码,从而对脚本进行沙盒处理。

但是stefgosselin在答案中所写的内容也是有效的:注意系统命令。确保您在正确的工作目录中操作。我认为,在没有真正正确验证的情况下盲目地提交用户上传并不是一个好主意(不知道你实现了多少安全性,只是这么说)。安全总比抱歉好。