//修改svn的服务器配置:
//svn的配置目录为/home/www/.subversion/
//修改下面的servers文件:
//[global]
//store-passwords = yes
//store-plaintext-passwords = no
//putenv shell_exec 如果禁用,可以在php.ini配置中移除
putenv('LANG=zh_CN.UTF-8');
$username = '用户名';
$password = '密码';
//$target_dir = 'svn地址';
$result = shell_exec("svn up --username $username --password $password --accept theirs-full /www/wwwroot/lemont 2>&1");
echo nl2br($result);
/**
* 扩展
*/
//访问验证-1分钟最多访问1次
session_start();
if (!$_SESSION["wllogin"]) {
unset($_SESSION["wllogin"]);
$_SESSION["wllogin"] = time();
} else {
$nowtime = $_SESSION["wllogin"] + 60;
if ($nowtime > time()) {
exit('请求频繁');
} else {
unset($_SESSION["wllogin"]);
}
}
//token验证
if (isset($_GET['token'])) {
checkToken($_GET['token']);
} else {
exit((is_ssl() ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '?token=' . sendToken());
}
/**
* 生成token
*/
function sendToken()
{
$token = md5(strtolower(date("Ymd") . 'TokenC#K'));
return $token;
}
/**
* 判断是否SSL协议
* @return boolean
*/
function is_ssl()
{
if (isset($_SERVER['HTTPS']) && ('1' == $_SERVER['HTTPS'] || 'on' == strtolower($_SERVER['HTTPS']))) {
return true;
} elseif (isset($_SERVER['SERVER_PORT']) && ('443' == $_SERVER['SERVER_PORT'])) {
return true;
}
return false;
}
/**
* $token 字符串
*/
function checkToken($token)
{
$token_server = md5(strtolower(date("Ymd") . 'TokenC#K'));
if (!strcasecmp($token, $token_server)) {
putenv('LANG=zh_CN.UTF-8');
$username = '用户名';
$password = '密码';
//$target_dir = 'svn地址';
$result = shell_exec("svn up --username $username --password $password --accept theirs-full /www/wwwroot/lemont 2>&1");
echo nl2br($result);
} else {
exit('token 验证失败');
}
}