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 相关文章推荐
mac下使用brew配置环境的步骤分享
May 23 PHP
php定时计划任务的实现方法详解
Jun 06 PHP
php读取csv实现csv文件下载功能
Dec 18 PHP
对PHP新手的一些建议(PHP学习经验总结)
Aug 20 PHP
php开发工具有哪五款
Nov 09 PHP
前端必学之PHP语法基础
Jan 01 PHP
/etc/php-fpm.d/www.conf 配置注意事项
Feb 04 PHP
PHP长网址与短网址的实现方法
Oct 13 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
Feb 21 PHP
浅谈php常用的7大框架的优缺点
Jul 20 PHP
php实现图片压缩处理
Sep 09 PHP
php中pcntl_fork详解
Apr 01 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
PHP+DBM的同学录程序(3)
2006/10/09 PHP
php的慢速日志引起的Mysql错误问题分析
2014/05/13 PHP
Yii中创建自己的Widget实例
2016/01/05 PHP
php用户名的密码加密更安全的方法
2019/06/21 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
JavaScript的递归之递归与循环示例介绍
2013/08/05 Javascript
js动态创建上传表单通过iframe模拟Ajax实现无刷新
2014/02/20 Javascript
js实现仿百度瀑布流的方法
2015/02/05 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
2015/03/26 Javascript
JS模拟实现Select效果代码
2015/09/24 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
利用js编写响应式侧边栏
2016/09/17 Javascript
bootstrap table实例详解
2017/01/06 Javascript
基于jquery ajax的多文件上传进度条过程解析
2019/09/11 jQuery
js中关于Blob对象的介绍与使用
2019/11/29 Javascript
详解javascript脚本何时会被执行
2021/02/05 Javascript
[01:03:13]VG vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python 随机生成中文验证码的实例代码
2013/03/20 Python
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
python开发之字符串string操作方法实例详解
2015/11/12 Python
python访问mysql数据库的实现方法(2则示例)
2016/01/06 Python
python3 flask实现文件上传功能
2020/03/20 Python
Python实现E-Mail收集插件实例教程
2019/02/06 Python
python实现文件的备份流程详解
2019/06/18 Python
python中p-value的实现方式
2019/12/16 Python
Python持续监听文件变化代码实例
2020/07/22 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
JSF如何进行表格处理及取值
2012/08/06 面试题
电厂厂长岗位职责
2014/01/02 职场文书
售后服务经理岗位职责
2014/02/25 职场文书
“四风”问题的主要表现和危害思想汇报
2014/09/19 职场文书
抄袭同学作业检讨书1000字
2014/11/20 职场文书
首都博物馆观后感
2015/06/05 职场文书
浅析Django接口版本控制
2021/06/26 Python