(1)window
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)linux
在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)創建如下目錄
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
更新文件成功