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 相关文章推荐
ftp类(myftp.php)
Oct 09 PHP
PHP+MYSQL的文章管理系统(二)
Oct 09 PHP
在PHP3中实现SESSION的功能(一)
Oct 09 PHP
PHPThumb PHP 图片缩略图库
Mar 11 PHP
ThinkPHP分页类使用详解
Mar 05 PHP
简单的php新闻发布系统教程
May 09 PHP
php实现文件下载代码分享
Aug 19 PHP
php如何获取文件的扩展名
Oct 28 PHP
smarty简单应用实例
Nov 03 PHP
Laravel网站打开速度优化的方法汇总
Jul 16 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 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
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
Yii框架关联查询with用法分析
2014/12/02 PHP
php检查日期函数checkdate用法实例
2015/03/19 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
2018/06/09 PHP
php写入文件不覆盖的实例讲解
2019/09/17 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
利用NodeJS的子进程(child_process)调用系统命令的方法分享
2013/06/05 NodeJs
jQuery+ajax实现鼠标单击修改内容的方法
2014/06/27 Javascript
Javascript基础教程之switch语句
2015/01/18 Javascript
最流行的Node.js精简型和全栈型开发框架介绍
2015/02/26 Javascript
jquery实现简单的轮换出现效果实例
2015/07/23 Javascript
详解Javacript和AngularJS中的Promises
2016/02/09 Javascript
jQuery+ajax读取并解析XML文件的方法
2016/09/09 Javascript
Bootstrap框架实现广告轮播效果
2016/11/28 Javascript
基于vue的下拉刷新指令和滚动刷新指令
2016/12/23 Javascript
Vue.js中组件中的slot实例详解
2017/07/17 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
jquery 一键复制到剪切板的实例
2017/09/20 jQuery
JavaScript Reflect Metadata实现详解
2019/12/12 Javascript
js实现简单点赞操作
2020/03/17 Javascript
微信小程序接入vant Weapp组件的详细步骤
2020/10/28 Javascript
python写日志封装类实例
2015/06/28 Python
使用Python实现BT种子和磁力链接的相互转换
2015/11/09 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
2018/01/29 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
Python 处理图片像素点的实例
2019/01/08 Python
使用pycharm在本地开发并实时同步到服务器
2019/08/02 Python
Python实现Kerberos用户的增删改查操作
2020/12/14 Python
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
美国在线印刷公司:PsPrint
2017/10/12 全球购物
给校长的建议书200字
2014/05/16 职场文书
2015年乡镇科普工作总结
2015/05/13 职场文书
2015年信息中心工作总结
2015/05/25 职场文书
贴吧吧主申请感言
2015/08/03 职场文书
OpenCV绘制圆端矩形的示例代码
2021/08/30 Python
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript