1.安裝ssh2擴充
(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.dll6. 重啟伺服器,即可使用php執行ssh串連操作了。查看phpinfo(),是否有顯示php_ssh2擴充載入成功。
(2)linux
在linux下需要先安裝擴充所需的依賴庫1.安裝libssh2wget http://www.libssh2.org/download/libssh2-1.7.0.tar.gztar zxf libssh2-1.7.0.tar.gzcd libssh2-1.7.0./configure --prefix=/usr/local/libssh2make && make install2.安裝ssh2wget http://pecl.php.net/get/ssh2-0.12.tgztar -zxvf ssh2-0.12.tgzcd ssh2-0.12phpize./configure --prefix=/usr/local/ssh2 --with-ssh2=/usr/local/libssh2make#執行完以上過程後,在目前的目錄下的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#重啟phpphp -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
以上就介紹了Php ssh2擴充應用,包括了ssh,php方面的內容,希望對PHP教程有興趣的朋友有所協助。