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 相关文章推荐
收藏的一个php小偷的核心程序
Apr 09 PHP
Mysql和网页显示乱码解决方法集锦
Mar 27 PHP
php 破解防盗链图片函数
Dec 09 PHP
centos 5.6 升级php到5.3的方法
May 14 PHP
php计算十二星座的函数代码
Aug 21 PHP
分享一则PHP定义函数代码
Feb 26 PHP
PHP往XML中添加节点的方法
Mar 12 PHP
WordPress自定义时间显示格式
Mar 27 PHP
Symfony2实现从数据库获取数据的方法小结
Mar 18 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
yii2安装详细流程
May 23 PHP
laravel5.6中的外键约束示例
Oct 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
Ajax PHP 边学边练 之三 数据库
2009/11/26 PHP
PHP利用imagick生成组合缩略图
2016/02/19 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
javascript中的undefined 与 null 的区别  补充篇
2010/03/17 Javascript
动态创建样式表在各浏览器中的差异测试代码
2011/09/13 Javascript
用Jquery实现滚动新闻
2014/02/12 Javascript
JS中的Replace方法使用经验分享
2015/05/20 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
2015/08/07 Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
2015/11/07 Javascript
javascript插件开发的一些感想和心得
2016/02/28 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
简单实现JavaScript图片切换效果
2016/11/28 Javascript
ajax请求data遇到的问题分析
2018/01/18 Javascript
Three.JS实现三维场景
2018/12/30 Javascript
可能是最全面的 Python 字符串拼接总结【收藏】
2018/07/09 Python
django开发post接口简单案例,获取参数值的方法
2018/12/11 Python
python 定时器,实现每天凌晨3点执行的方法
2019/02/20 Python
OpenCV 边缘检测
2019/07/10 Python
基于Python实现签到脚本过程解析
2019/10/25 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
2020/04/13 Python
如何使用PyCharm将代码上传到GitHub上(图文详解)
2020/04/27 Python
python 等差数列末项计算方式
2020/05/03 Python
Python bisect模块原理及常见实例
2020/06/17 Python
利用PyTorch实现VGG16教程
2020/06/24 Python
Python读取多列数据以及用matplotlib制作图表方法实例
2020/09/23 Python
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
python Pexpect模块的使用
2020/12/25 Python
Python基于mediainfo批量重命名图片文件
2020/12/29 Python
Python 的 f-string 可以连接字符串与数字的原因解析
2021/02/20 Python
简单介绍CSS3中Media Query的使用
2015/07/07 HTML / CSS
日语求职信范文
2013/12/17 职场文书
新春联欢会主持词
2014/03/24 职场文书
知识就是力量演讲稿
2014/09/13 职场文书
2015年考研复习计划
2015/01/19 职场文书
门面租赁合同范文
2019/08/06 职场文书
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电