天天看點

linux+php+svn update+中文問題不能更新svn

 1。寫shell腳本 

!#/bin/sh 

svn --username hanhh --password 111111 up  https://192.168.1.223/svn/website_php/source /data/www/navidog.cn/

2。運作指令:crontab -e   

3。添加每分鐘都執行腳本:* * * * * /bin/sh /data/shell/svn.sh  > /dev/null 2>&1

* * * * * /bin/sh /data/shell/svn.sh  這個沒有添加 /dev/null 的可以在 tail -f /var/spool/mail/root 中檢視錯誤

4. tail -f /var/log/cron:檢視crontab 的運作日志

5。這個中文問題可以在執行腳本中添加環境變量 ,就可以更新了

source /etc/profile

以下是示例代碼

<?php

if($_GET['opt'] == 'up'){

$checkout = "svn --username hanhh --password 111111 up  https://192.168.1.223/svn/website_php/source /data/www/navidog.cn";

//$checkout = "svn --username hanhh --password 111111 up  http://192.168.1.223/svn/website_php/source /data/www/tmp";

$output = array();

$tmp = exec($checkout,$output);

if(is_array($output) && !empty($output))

foreach($output as $k=>$v){

echo "$v<br>";

}

}elseif($_GET['opt'] == 'stream'){

$svn_user = "hanhh";

$svn_pwd = "111111";

$svn_co_dir =" https://192.168.1.223/svn/website_php/source";

$itme_dir = '/data/www/tmp';

header("Cache-Control:no-cache,must-revalidate");   

$handle = popen("svn up --username {$svn_user} --password {$svn_pwd} $svn_co_dir $itme_dir", 'r');   

$read = stream_get_contents($handle);//需要 PHP5 或更高版本   

echo "<pre>";   

printf($read);

echo "</pre>";   

pclose($handle);

}else{

?>

<ul>

<li><a href="/admin" target="_blank">背景</a></li>

<li><a href="http://pay.navidog.cn" target="_blank">前台</a></li>

<li><a href="info.php" target="_blank">info</a></li>

<li>-----</li>

<li><a href="index.php?opt=up" target="_blank">svn-up</a></li>

</ul>

<?}?>

繼續閱讀