300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > my.ini修改后服务无法启动_VisualSVN Server 自助修改密码页面

my.ini修改后服务无法启动_VisualSVN Server 自助修改密码页面

时间:2023-07-31 14:47:43

相关推荐

my.ini修改后服务无法启动_VisualSVN Server 自助修改密码页面

一、安装VisualSVN服务:

下载VisualSVN Server(/server/download/),并安装VisualSVN Server,由于安装过程比较简单,本文就在不再介绍。具体的安装过程官网也是有介绍的(详情参考:/server/getting-started/)。

二、VisualSVN服务修改密码配置:

如果不用VisualSVN客户端的话,VisualSVN Server只能在服务器端修改密码,对管理来说很不方便。 VisualSVN Server 帐号及密码保存在 htpasswd 文件里,有以下几种修改密码的方式:

    1、使用 VisualSVN Server Manager 管理工具重置密码(如下图所示)。

2、通过 WMI 里用 PowerShell脚本更改。示例如下:

$svnuser = Get-WmiObject -Namespace RootVisualSVN `-ComputerName `-query "select * from VisualSVN_User where name = 'username'"$svnuser.SetPassword('123456')

3、使用 Apache 的 htpasswd.exe 命令更改:

该方法是使用 php 页面来调用 htpasswd.exe 修改密码,方便用户通过网页修改,下面讲解配置要点。我使用的操作系统是 Windows Server R2 x64,安装了 VisualSVN Server 3.5.6 x64 带 Apache 2.2.31 x64 的版本,默认安装路径。从 Apache 官方网站下载完整的 Apache 2.2.31 x64 版本,从里面提取一个文件 htpasswd.exe 放到:C:Program FilesVisualSVN Serverbinhtpasswd.exe

Apache 2.2.x 要以 handler 方式加载 php 模块,只有 php 5.2-5.4 的 Thread Safe 版本才带 php5apache2_2.dll 文件,php 5.5 及之后的版本只能和 Apache 2.4.x 搭配了,所以选定 php 5.4 版本。

**特别注意:**如果用 VisualSVN Server x64 就必须找 x64 的 php!否则 Apache 加载 php 模块会提示错误 Cannot load php5apache2_2.dll into server因为 Apache x64 无法使用 php x86。使用 32 位版本的 VisualSVN Server 比较简单,因为 php 官网都是 x86 版本:/downloads/releases/archives/使用 64 位版本的 VisualSVN Server 就得找第三方编译的 php x64 版本了,提供两个下载:/php-5-4-12-and-5-3-22-x64-64-bit-for-windows/ /viewtopic.php?t=6123我下载的是 php-5.4.36-Win32-VC9-x64.zip,下载后解压到 C:Program FilesVisualSVN Serverphp 文件夹。把 php.ini-production 文件重命名为 php.ini 即可,其他不用配置。

3.1、修改空文件 C:Program FilesVisualSVN Serverconfhttpd-custom.conf

内容如下:

LoadModule php5_module "php/php5apache2_2.dll" AddType application/x-httpd-php .php DirectoryIndex index.html index.php# 配置 php.ini 的路径PHPIniDir "php"

**注意:**在VisualSVNServer3.9版本中,遇到VisualSVNServer无法正常启动问题,可将以上:LoadModule php5_module "php/php5apache2_2.dll"修改php5的版本,或者修改php5apache2_4.dll文件的绝对路径:LoadModule php5_module "php/php5apache2_4.dll"。

3.2、新建一个 php 文件放到 C:Program FilesVisualSVN Serverhtdocsindex.php

内容如下:

<?php /***************************************************************/$passwdfile="C:Repositorieshtpasswd";$htpasswdPath = "C:Program FilesVisualSVN Serverbinhtpasswd.exe";/***************************************************************/$username = $_SERVER["PHP_AUTH_USER"]; //经过 AuthType Basic 认证的用户名$authed_pass = $_SERVER["PHP_AUTH_PW"]; //经过 AuthType Basic 认证的密码$input_oldpass = (isset($_REQUEST["oldpass"]) ? $_REQUEST["oldpass"] : ""); //从界面上输入的原密码$newpass = (isset($_REQUEST["newpass"]) ? $_REQUEST["newpass"] : ""); //界面上输入的新密码$repeatpass = (isset($_REQUEST["repeatpass"]) ? $_REQUEST["repeatpass"] : ""); //界面上输入的重复密码$action = (isset($_REQUEST["action"]) ? $_REQUEST["action"] : ""); //以hide方式提交到服务器的actionif ($action!="modify") { $action = "view";} else if ($authed_pass!=$input_oldpass) { $action = "oldpasswrong";} else if (empty($newpass)) { $action = "passempty";} else if ($newpass!=$repeatpass) { $action = "passnotsame";} else{ $action = "modify";}?> 密码修改<?php //action=view 显示普通的输入信息if ($action == "view") {?>

密码修改用 户 名: <?php echo $username?>原 密 码:用户密码:确认密码:<?php } else if ($action == "oldpasswrong") { $msg="原密码错误!";} else if ($action == "passempty") { $msg="请输入新密码!";} else if ($action == "passnotsame") { $msg="两次输入密码不一致,请重新输入!";} else {// $passwdfile="D:SVN_Repositorieshtpasswd";// $command='"d:VisualSVN Serverbinhtpasswd.exe" -b '.$passwdfile." ".$username." ".$newpass; $command='"'. $htpasswdPath. '" -b '.$passwdfile." ".$username." ".$newpass; system($command, $result); if ($result==0) { $msg_succ="用户[".$username."]密码修改成功,请用新密码登陆."; } else { $msg="用户[".$username."]密码修改失败,返回值为".$result.",请和管理员联系!"; }}if (isset($msg_succ)) {?><?php } else if (isset($msg)) {?><?php }?>

3.3、添加向修改密码页面跳转的超链接,修改文件 C:Program FilesVisualSVN ServerWebUIindex.html内容如下:

修改密码

设置完成后,重新启动下Visual SVN server,然后浏览器进入即可看到效果(效果如下图所示)。

四、常见问题:

1、Cannot load php5apache2_4.dll into server解决办法

原因1:

我们在安装好Apache服务器,一开始正常,但安装PHP配置完成之后,再次启动apache的时候出现了错误 the requested operation has failed;

其实网上很多教程说了一大堆,但是都没有说到点子上,出现这个问题最大的可能性就是,您没有安装VC11运行库,因为现在所有的5.5环境都是基于 vc11的编译脚本下生成的,所以在windows下你得安装相关组件msvcr110.dll,否则你双击php.exe测试的时候会报错。在安装msvcr110.dll的时候也要注意系统位数,要不然也是不行的。

原因2:

1.php 5.5 开始就不支持windows了;

1.开始想了好久,1直没发现错误,后面猛然发现我的apache的版本是2.2,PHP的版本是5.5,PHP5.5不支持apache2.2了,所以只有php5apache2_4.dll,于是又去下载了个PHP5.4,里边包含了php5apache2_2.dll,在httpd.conf中添加:LoadModule php5_module “D:/php-5.4.23-Win32-VC9-x86/php5apache2_2.dll”,问题解决;

如果Apache/PHP还无法启动,那最可能是php5_module模块的问题:

1.Apache2.0对应的PHP模块为php5apache2.dll;

2.Apache2.2对应的PHP模块为php5apache2_2.dll;

3.Apache2.4对应的PHP模块为php5apache2_4.dll;

换句话说,根据php5_module模块,可以知道当前版本php支持哪种Apache

所以,Apache/PHP的搭配有以下几种情况:

1.php5.2支持Apache2.0和Apache2.2;

2.php5.3、php5.4同时支持Apache2.2和Apache2.4;

3.php5.5只支持Apache2.4;

除非你自己手动编译php5_module模块,否则只能有以上3种选择;

如果Apache/PHP还是无法启动,检查php配置(php.ini)是否存在,运行php.exe有没有提示错误。根据错误提示,纠正错误;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。