目录
利用Php ssh2扩展实现svn自动提交到测试服,ssh2svn
 
首页 后端开发 php教程 利用Php ssh2扩展实现svn自动提交到测试服,ssh2svn_PHP教程

利用Php ssh2扩展实现svn自动提交到测试服,ssh2svn_PHP教程

Jul 12, 2016 am 08:54 AM
svn

利用Php ssh2扩展实现svn自动提交到测试服,ssh2svn

1.安装ssh2扩展 

(1)window

<span>1</span><span>. 下载 php extension ssh2
下载地址 http:</span>//windows.php.net/downloads/pecl/releases/ssh2/<span>0.12</span>/<span>
根据自己PHP的版本去下载</span><span>2</span><span>. 解压完后,会有三个文件,libssh2.dll、php_ssh.dll、php_ssh2.pdb。
</span><span>3</span>. 将 php_ssh.dll、php_ssh2.pdb 放到你的 php 扩展目录下 php/ext/<span> 下。
</span><span>4</span>. 将libssh2.dll 复制到 c:/windows/system32 和 c:/windows/<span>syswow64 各一份
</span><span>5</span>. php.ini中加入 extension=<span>php_ssh2.dll
</span><span>6</span><span>. 重启服务器,即可使用php执行ssh连接操作了。
查看phpinfo(),是否有显示php_ssh2扩展加载成功。<br /></span>
登录后复制

(2)linux

<span>在linux下需要先安装扩展所需的依赖库
</span><span>1</span><span>.安装libssh2
wget http:</span>//www.libssh2.org/download/libssh2-<span>1.7</span>.<span>0</span><span>.tar.gz
tar zxf libssh2</span>-<span>1.7</span>.<span>0</span><span>.tar.gz
cd libssh2</span>-<span>1.7</span>.<span>0</span><span>
.</span>/configure --prefix=/usr/local/<span>libssh2
make </span>&&<span> make install
</span><span>2</span><span>.安装ssh2
wget http:</span>//pecl.php.net/get/ssh2-<span>0.12</span><span>.tgz
tar </span>-zxvf  ssh2-<span>0.12</span><span>.tgz
cd ssh2</span>-<span>0.12</span><span>
phpize
.</span>/configure --prefix=/usr/local/ssh2 --with-ssh2=/usr/local/<span>libssh2
make
#执行完以上过程后,在当前目录下的modules目录下会生成一个ssh2.so文件,这就是扩展PHP所需要的,将该文件拷贝到PHP库的存储目录下在修改PHP的配置文件即可。
cp modules</span>/ssh2.so /usr/local/php/lib/php/extensions/no-debug-non-zts-<span>20131226</span>/<span>
#注:PHP库的存储目录可能不同
vim </span>/usr/local/php/lib/<span>php.ini
添加extension</span>=<span>ssh2.so
#重启php
php </span>-m |grep ssh #可查看是否安装成功
登录后复制

2.ssh2扩展与svn结合,实现文件文件夹的更新与删除

(1)创建如下目录

file存放源码(第一次需要co代码,之后再改用up)

key存放密钥

log存放错误信息,文件更新删除记录

svn存放相关操作(https://github.com/getCodeWarehouse/php_ssh2)

(2)在svn hooks中开启钩子,调用php脚本

 

 

 

重要的事说三遍 要改权限~ 要改权限~要改权限~

 

svn up 状态有 U D A,使用array_pop弹出无用数据

更新和新增同为一类,需要判断是文件还是文件夹,选择不同的函数,值得注意的是ssh2_sftp_mkdir,如果远程机存在此文件夹会报错

删除文件夹之所以使用rm命令,因为ssh2_sftp_rmdir不能删除非空文件夹,又不能加参数

(3)测试提交svn

 

 

更新文件成功

 

如果更新速度慢,那就怪网络吧 _(┐「ε:)_

相关代码:https://github.com/getCodeWarehouse/php_ssh2

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1119059.htmlTechArticle利用Php ssh2扩展实现svn自动提交到测试服,ssh2svn 1.安装ssh2扩展 (1)window 1 . 下载 php extension ssh2下载地址 http: //windows.php.net/downloads/pecl/releas...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PHP开发中如何使用SVN进行版本控制 PHP开发中如何使用SVN进行版本控制 Jun 27, 2023 pm 01:39 PM

在PHP开发中进行版本控制是很常见的操作,其中最常用的工具就是SVN(Subversion)。它可以方便地管理代码的历史版本以及协同开发过程中的代码更新。下面将介绍如何在PHP开发中使用SVN进行版本控制。一、安装SVN客户端和服务端首先需要安装SVN客户端和服务端。SVN客户端可以在SVN官网上下载对应的版本,安装即可,而服务端则需要自行搭建,具体方法可以

Java SVN:代码仓库的守护者,确保代码稳定性 Java SVN:代码仓库的守护者,确保代码稳定性 Mar 09, 2024 am 09:20 AM

SVN简介SVN(Subversion)是一种集中式版本控制系统,用于管理和维护代码库。它允许多个开发者同时协作开发代码,并提供对代码历史修改的完整记录。通过使用SVN,开发者可以:保障代码稳定性,避免代码丢失和损坏。追踪代码修改历史,轻松回滚到之前的版本。协同开发,多个开发者同时修改代码而不会冲突。SVN基本操作要使用SVN,需要安装SVN客户端,例如TortoiseSVN或SublimeMerge。然后,您可以按照以下步骤执行基本操作:1.创建代码库svnmkdirHttp://exampl

详解如何安装和设置EclipseSVN插件 详解如何安装和设置EclipseSVN插件 Jan 28, 2024 am 08:42 AM

EclipseSVN插件的安装和设置方法详解Eclipse是一个广泛使用的集成开发环境(IDE),它支持许多不同的插件来扩展其功能。其中之一是EclipseSVN插件,它使开发人员能够与Subversion版本控制系统进行交互。本文将详细介绍如何安装和设置EclipseSVN插件,并提供具体的代码示例。第一步:安装EclipseSVN插件打开Eclipse

用vimdiff替代svn diff:比较代码的工具 用vimdiff替代svn diff:比较代码的工具 Jan 09, 2024 pm 07:54 PM

在linux下,直接使用svndiff命令查看代码的修改是很吃力的,于是在网上搜索到了一个比较好的解决方案,就是让vimdiff作为svndiff的查看代码工具,尤其对于习惯用vim的人来说真的是很方便。当使用svndiff命令比较某个文件的修改前后时,例如执行以下命令:$svndiff-r4420ngx_http_limit_req_module.c那么实际会向默认的diff程序发送如下命令:-u-Lngx_http_limit_req_module.c(revision4420)-Lngx_

SVN在CentOS上的安装及命令行安装 SVN在CentOS上的安装及命令行安装 Feb 13, 2024 am 11:24 AM

在CentOS上安装SVN是非常常见的操作,它是一个功能强大的版本控制系统,可以用于管理和追踪软件开发过程中的变更,本文将详细介绍如何在CentOS上安装SVN,并提供一些常用的命令行安装方法。在CentOS上安装SVN有多种方法,下面将介绍两种常用的安装方式。1.打开终端,以root用户身份登录。2.运行以下命令更新系统软件包列表:```yumupdate3.运行以下命令安装SVN:yuminstallsubversion4.安装完成后,可以通过运行以下命令验证SVN是否成功安装:svn--v

svn与vss的区别是什么 svn与vss的区别是什么 Jun 21, 2022 am 11:23 AM

区别:1、vss是微软开发的,是收费的,而svn是开源免费的;2、vss必须有客户端,而svn可以用客户端,也可以用命令行模式,还可以用网页方式只读访问;3、vss只支持windows系统,而svn支持windows和linux系统;4、vss是“锁定-编辑-解锁”模式,svn默认是“修改-冲突-合并”模式;5、vss的版本号对应的是单个文件,svn的版本号对应的是整个版本库。

Linux开发者的必备技能:简单掌握SVN版本控制 Linux开发者的必备技能:简单掌握SVN版本控制 Jan 26, 2024 pm 09:54 PM

身为Linux开发人员,往往需要运用SVN控制项目版本。对于优秀开发者而言,熟知如何查阅SVN版本无疑是必备技能之一。今日,笔者想借此机会和各位分享自己的心得,希望能助您更好地掌握这一实用技巧。1.安装SVN命令行工具请先在Linux环境中安装SVN命令行工具哦!请拨通终端,然后稳妥地输入下面这条指令来完成安装吧:```尊敬的用户,请执行sudoapt-getinstallsubversion以安装Subversion。2.连接到SVN服务器安装完毕后,我们需要连接到SVN服务器。输入以下命令:

PHP入门指南:SVN版本管理 PHP入门指南:SVN版本管理 May 20, 2023 am 08:29 AM

作为一种常用的服务器端脚本语言,PHP凭借其开源、跨平台的优势,被广泛应用于Web开发领域。而在多人协作的开发中,版本控制是一个不可或缺的工具,它可以有效地管理源代码的修改与更新,避免因团队成员之间代码不同步而造成的冲突。而SVN作为一款流行的版本控制工具,在PHP开发中的应用也十分广泛。本文将为大家介绍PHP开发中的SVN版本控制的基础知识,包括SVN的安

See all articles