般都采用独立服务器(这里主要是指linux服务器),都喜欢安装svn进行代码管理,并且也是通过svn来上传更新网站。传统的方法都是每次更新到运行服务器都要远程ssh执行命令或一个具体的脚本
其实有还有更好的办法,一直以来,我就是用这种办法更新网站的。。
在apache或是nginx开一个密码保护的虚拟主机。把下面php文件扔进去
当上传完svn时。打开php文件,点击更新就ok了。
如果需要做得更加安全的话。那就再在下面那段php里加上个密码访问就好了
XML/HTML代码
- <?php
- header("Cache-Control:no-cache,must-revalidate");
- echo ‘<a href="?go=svnweb">更新网站全部数据</a><br />‘;
- echo ‘<a href="?go=svnimages">更新网站图片数据</a><br />‘;
- echo ‘<hr />‘;
- if($_GET[‘go’]==’svnweb’){
- echo ‘update web data….<br>‘;
- $handle = popen(‘/usr/bin/svn up –username xxx –password xxxxxxx svn://localhost/web1 /var/www/web1/’, ‘r’);
- $read = stream_get_contents($handle);//需要 PHP5 或更高版本
- echo "<pre>";
- printf($read);
- echo "</pre>";
- pclose($handle);
- }elseif($_GET[‘go’]==’svnimages’){
- echo ‘update web images….<br>‘;
- $handle = popen(‘/usr/bin/svn up –username xxx –password xxxxxxx svn://localhost/web1 /var/www/web1/images’, ‘r’);
- $read = stream_get_contents($handle);
- echo "<pre>";
- printf($read);
- echo "</pre>";
- pclose($handle);
- }
- ?>
看来博主是位编程高手啊!~~
不行啊~~~点击“更新更新网站全部数” 没有update下来
[quote=烨勇]不行啊~~~点击“更新更新网站全部数” 没有update下来[/quote]如果是用apache的话,还要给apache权限,可以执行svn的权限才行。