题
Apache 在 Windows 机器上以 SYSTEM 身份运行。
post-commit.bat 应该使用什么用户和密码?
我正在尝试将内容复制到目录以在网络服务器上的开发人员版本上进行测试,但似乎无法正常工作。
解决方案
挂钩脚本将由服务器启动,因此您只需确保相应的用户(您的 SYSTEM)拥有
- 对存储库的读/写访问(应该已经是这种情况)
- 读取/执行对钩子脚本的访问
根据您的脚本的功能,您可能需要更多,例如,如果它创建日志 - 如果它通常访问其他资源。这可能是您遇到的问题。
另外,如果挂钩脚本是 .bat,则 COMSPEC
需要环境变量来找到shell(我在Windows XP中遇到过这个问题,主要是由于配置错误)。该变量通常定义为 C:\Windows\system32\cmd.exe
. PATH
当然也非常重要。
请注意,这可能会产生误导,当您使用另一个用户登录测试脚本时,您可能拥有服务器身份所没有的其他访问权限。
编辑: 可以设置或扩展重要的环境变量,例如 PATH
和 COMSPEC
在批处理脚本的开头,如果您不确定它们包含服务器帐户的内容。例如,
SET ComSpec=%SystemRoot%\system32\cmd.exe
SET PATH=%PATH%;C:\Tools\SVN\svn-win32-1.4.6\bin
有时,这比蒙在鼓里尝试修改服务器帐户更容易。
不隶属于 StackOverflow