PHP中调用SVN命令更新网站方法


Posted in PHP onJanuary 07, 2015

想说写一个通过网页就可以执行 SVN 升级的程序,结果并不是我想得那样简单,有一些眉角需要注意的说。
先以 Apache 的用户帐号执行 SVN checkout,这样 Apache 才有 SVN 的链结权力,才可以通过网页执行 SVN update

su -s /bin/bash www-data    

cd /var/www    

svn checkout http://www.xxx.com/svn/my_site 

在用 PHP 执行 shell 指令前要加上 export LANG=C.UTF-8 的环境声明,不然 SVN update 时遇到中文会出现 error,Ubuntu 的 Apache 默认是 LANG=C
接着要为 SVN 补上 --accept theirs-full 的参数,这是当冲突发生时,都以 SVN Server 的文件版本为主
最后再加上 2>&1,让 PHP 可以取得包含错误的所有信息
<?php    

putenv('LANG=C.UTF-8');    

$result = shell_exec('svn update --accept theirs-full /var/www/my_site 2>&1');    

echo nl2br($result);   
PHP 相关文章推荐
不用数据库的多用户文件自由上传投票系统(2)
Oct 09 PHP
php PDO中文乱码解决办法
Jul 20 PHP
win2003服务器使用WPS的COM组件的一些问题解决方法
Jan 11 PHP
ini_set的用法介绍
Jan 07 PHP
php自动给网址加上链接的方法
Jun 02 PHP
php等比例缩放图片及剪切图片代码分享
Feb 13 PHP
Zend Framework框架路由机制代码分析
Mar 22 PHP
PHP的Json中文处理解决方案
Sep 29 PHP
php外部执行命令函数用法小结
Oct 11 PHP
Joomla框架实现字符串截取的方法示例
Jul 18 PHP
PHP设计模式之装饰器模式定义与用法详解
Apr 02 PHP
php获取是星期几的的一些常用姿势
Dec 15 PHP
PHP PDO fetch 模式各种参数的输出结果一览
Jan 07 #PHP
PHP中使用php5-ffmpeg撷取视频图片实例
Jan 07 #PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 #PHP
PHP实现的简易版图片相似度比较
Jan 07 #PHP
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 #PHP
php中$_POST与php://input的区别实例分析
Jan 07 #PHP
php静态文件返回304技巧分享
Jan 06 #PHP
You might like
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
2007/03/29 PHP
关于php循环跳出的问题
2013/07/01 PHP
php实现给图片加灰色半透明效果的方法
2014/10/20 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
JQuery魔力之$(&quot;tagName&quot;)与selector
2012/03/05 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
判断滚动条到底部的JS代码
2013/11/04 Javascript
JavaScript的21条基本知识点
2014/03/04 Javascript
浅谈javascript 迭代方法
2015/01/21 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
2015/03/23 Javascript
jQuery简单实现QQ空间点赞已经取消点赞
2015/04/02 Javascript
jquery实现动态改变div宽度和高度
2015/05/08 Javascript
AngularJS入门教程之AngularJS模型
2016/04/18 Javascript
JavaScript简单实现弹出拖拽窗口(二)
2016/06/17 Javascript
判断输入的字符串是否是日期格式的简单方法
2016/07/11 Javascript
Angular数据绑定机制原理
2018/04/17 Javascript
解决Mac node版本升级失败的问题
2018/05/16 Javascript
使用puppeteer爬取网站并抓出404无效链接
2018/12/20 Javascript
JS立即执行函数功能与用法分析
2019/01/15 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
JS实现容器模块左右拖动效果
2020/01/14 Javascript
JavaScript实现飞舞的泡泡效果
2020/02/07 Javascript
wxPython窗口中文乱码解决方法
2014/10/11 Python
python使用pil生成图片验证码的方法
2015/05/08 Python
Python实现插入排序和选择排序的方法
2019/05/12 Python
用python的turtle模块实现给女票画个小心心
2019/11/23 Python
pycharm设置python文件模板信息过程图解
2020/03/10 Python
英国网上香水店:Fragrance Direct
2016/07/20 全球购物
美国领先的奢侈手表在线零售商:WatchMaxx
2017/12/17 全球购物
演讲稿怎么写才完美
2014/01/02 职场文书
毕业设计说明书
2014/05/07 职场文书
2016年会领导致辞稿
2015/07/29 职场文书
《绝招》教学反思
2016/02/20 职场文书
2016年第二十五次全国助残日活动总结
2016/04/01 职场文书
mysql外连接与内连接查询的不同之处
2021/06/03 MySQL
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python