(1)windowphp
1. 下载 php extension ssh2 下载地址 http://windows.php.net/downloads/pecl/releases/ssh2/0.12/ 根据本身PHP的版本去下载2. 解压完后,会有三个文件,libssh2.dll、php_ssh.dll、php_ssh2.pdb。 3. 将 php_ssh.dll、php_ssh2.pdb 放到你的 php 扩展目录下 php/ext/ 下。 4. 将libssh2.dll 复制到 c:/windows/system32 和 c:/windows/syswow64 各一份 5. php.ini中加入 extension=php_ssh2.dll 6. 重启服务器,便可使用php执行ssh链接操做了。 查看phpinfo(),是否有显示php_ssh2扩展加载成功。
(2)linuxlinux
在linux下须要先安装扩展所需的依赖库 1.安装libssh2 wget http://www.libssh2.org/download/libssh2-1.7.0.tar.gz tar zxf libssh2-1.7.0.tar.gz cd libssh2-1.7.0 ./configure --prefix=/usr/local/libssh2 make && make install 2.安装ssh2 wget http://pecl.php.net/get/ssh2-0.12.tgz tar -zxvf ssh2-0.12.tgz cd ssh2-0.12 phpize ./configure --prefix=/usr/local/ssh2 --with-ssh2=/usr/local/libssh2 make #执行完以上过程后,在当前目录下的modules目录下会生成一个ssh2.so文件,这就是扩展PHP所须要的,将该文件拷贝到PHP库的存储目录下在修改PHP的配置文件便可。 cp modules/ssh2.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/ #注:PHP库的存储目录可能不一样 vim /usr/local/php/lib/php.ini 添加extension=ssh2.so #重启php php -m |grep ssh #可查看是否安装成功
(1)建立以下目录git
file存放源码(第一次须要co代码,以后再改用up)github
key存放密钥vim
log存放错误信息,文件更新删除记录windows
svn存放相关操做(https://github.com/getCodeWarehouse/php_ssh2)服务器
(2)在svn hooks中开启钩子,调用php脚本网络
重要的事说三遍 要改权限~ 要改权限~要改权限~ssh
svn up 状态有 U D A,使用array_pop弹出无用数据svn
更新和新增同为一类,须要判断是文件仍是文件夹,选择不一样的函数,值得注意的是ssh2_sftp_mkdir,若是远程机存在此文件夹会报错
删除文件夹之因此使用rm命令,由于ssh2_sftp_rmdir不能删除非空文件夹,又不能加参数
(3)测试提交svn
更新文件成功