前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >php执行svn命令更新代码到服务器

php执行svn命令更新代码到服务器

作者头像
用户3094376
发布2018-09-12 11:13:47
2K0
发布2018-09-12 11:13:47
举报
文章被收录于专栏:gaoqin31gaoqin31

公司内网更新代码到内网测试服务器,使用的方法是在测试服务器执行svn命令同步开发机器代码,虽然做了定时,但是每次还是要手动更新,觉得太麻烦了,

于是想到用php执行svn命令,这样我们每次用浏览器执行下php脚本就行了。代码很简单。

代码语言:javascript
复制
echo "<pre>";system('/usr/local/bin/svn update --force --username "svn用户名" --password "svn密码" /data/web/html');die;

但是代码执行不成功,php.ini开启了system函数权限,同样的代码用php命令行可以执行,

php -r "system('/usr/local/bin/svn update --force --username "svn用户名" --password "svn密码" /data/web/html/app.139game.com');"

简介下PHP目前比较常见的五大运行模式:

1)CGI(通用网关接口 / Common Gateway Interface)

2)FastCGI(常驻型CGI / Long-Live CGI)

3)CLI(命令行运行 / Command Line Interface)

4)Web模块模式(Apache等Web服务器运行的模式)

5)ISAPI(Internet Server Application Program Interface)

备注:在PHP5.3以后,PHP不再有ISAPI模式,安装后也不再有php5isapi.dll这个文件。要在IIS6上使用高版本PHP,必须安装FastCGI 扩展,然后使IIS6支持FastCGI。

服务器用的是apache,用户是www,所以用web模块方式运行php用户肯定是www,那么执行svn命令的肯定也是www,所以www需要有更新代码目录的写权限,修改目录权限后,

有下面的警告提示:

You can avoid future appearances of this warning by setting the value

of the 'store-plaintext-passwords' option to either 'yes' or 'no' in '/home/www/.subversion/servers'. ----------------------------------------------------------------------- Store password unencrypted (yes/no)? yes

有2个解决办法

1./usr/local/bin/svn update --force --no-auth-cache --username "svn用户名" --password "svn密码" /data/web/html/  加上--no-auth-cache参数 不缓存验证信息

2.给www用户建立/home/www目录并给写权限,然后出现上面那个提示的时候yes即可

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-12-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
测试服务
测试服务 WeTest 包括标准兼容测试、专家兼容测试、手游安全测试、远程调试等多款产品,服务于海量腾讯精品游戏,涵盖兼容测试、压力测试、性能测试、安全测试、远程调试等多个方向,立体化安全防护体系,保卫您的信息安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档