我想在wamp上安裝php_ssh2擴展。 我做以下事情:
PHP啓動:無法加載動態庫php_ssh2
- 副本libssh2.dll到C:\ WINDOWS \ SysWOW64中
- 註冊的dll文件:Regsvr32的libssh2.dll
- 副本php_ssh2.dll到C:\ WAMP \在php.ini
斌\ PHP \ php5.5.12 \分機
希望有人知道會幫忙!
在此先感謝
我想在wamp上安裝php_ssh2擴展。 我做以下事情:
PHP啓動:無法加載動態庫php_ssh2
斌\ PHP \ php5.5.12 \分機
希望有人知道會幫忙!
在此先感謝
libssh2.dll並不需要這麼做。
作爲一個簡單的經驗法則,當使用WAMPServer時,不需要將任何東西放入C:\windows\....
文件夾。如果你是通過點擊鏈接來摧毀切換Apache/PHP/MySQL版本的能力,那麼這就是使用WAMPServer而不是其他類似產品的主要原因之一。
如何將SSH2 PHP擴展安裝到WAMPServer。
下載SSH2擴展from here
對於WAMPServer您需要的TS(線程安全)版本 下載你想要把它安裝到即PHP5.4或PHP5您WAMPServer即32位/ 64位和PHP的主要版本相匹配的線程安全版本.5等
如果您在64位Windows上運行32位WAMPServer,則應該使用32位(x86)版本的ssh2!
使用wampmanager,停止所有服務
wampmanager -> Stop all Services
提取從zip這2個文件(rememeber的SSH2文件是專門針對PHP的版本,所以一定要使用正確的zip文件)。
copy libssh2.dll to \wamp\bin\php\phpx.y.z\
copy php_ssh2.dll to \wamp\bin\php\phpx.y.z\ext
編輯的php.ini(使用wampmanager菜單)
wampmanager -> PHP -> php.ini
找到部分包含擴展參數和加入這一行
extension=php_ssh2.dll
如果使用的是WAMPServer 2.5。15或更高版本您可以跳過此下一步,因爲它已被合併到WAMPServer刷新過程中。
如果您正在使用WAMPServer 2.5或以上版本:
編輯\ WAMP \腳本\ config.inc.php中 找到文件的這一部分,
$phpDllToCopy = array (
並添加此行到陣列,它可以去該列表中的任何地方
$phpDllToCopy = array (
'libssh2.dll',
啓動所有再次服務
wampmanager -> Start all Services
看
wampmanager -> PHP -> PHP Extensions
您應該看到php_ssh2在列表旁邊帶有刻度。
現在您需要讓WAMPManager將SYMLINKS重建到\ apachex.y.z \ bin文件夾中。因此,使用wampamanager菜單DO:
wampmanager -> Apache -> Version -> 2.4.9
(click on the version number, it may or may not be 2.4.9)
這應該幾秒鐘,然後你就可以測試SSH2被加載。
現在啓動本地主機
wampmanager -> localhost
在主頁上,你應該看到ssh2
在Loaded Services
列表中點擊WAMPServer主頁phpinfo()
鏈接,你應該看到以下信息證明SSH2已被加載
現在,如果您想在命令行(PHP CLI)中使用PHP中使用的SSH2,那麼您需要做更多的事情。
編輯\ WAMP \ BIN \ PHP \ PHP版本{} \ php.ini中
找到包含擴展參數的部分,並添加此行
extension=php_ssh2.dll
你完成了。
感謝您的回答,我正在尋找php_info() - >「註冊的PHP流」,我沒有看到以下ssh2.shell,ssh2.exec,ssh2.tunnel,ssh2.scp,ssh2 .sftp,我看到只是PHP,文件,glob,數據,http,ftp,zip,compress.zlib,compress.bzip2,https,ftps,phar – 4EACH 2014-11-04 12:04:58
您是否已經取消了之前做過的所有工作?你有正確版本的'SSH2'與你的'PHP'版本匹配嗎?你是否從C:\ Windows \ SysWOW64'中刪除了'libssh2.dll並且未註冊爲服務? – RiggsFolly 2014-11-04 13:00:45
是的,主要問題是「調用未定義的函數ssh2_exec」,它在我看來是由錯誤的安裝引起的。 – 4EACH 2014-11-04 14:47:06
libssh2是一個PITA。我只是用phpseclib的libssh2兼容層:
https://github.com/phpseclib/libssh2-compatibility-layer
例子:
<?php
include('phpseclib.php');
$ssh = ssh2_connect('www.domain.tld');
echo ssh2_fingerprint($ssh);
基本上,它只是使用phpseclib效仿所有ssh2_ *功能。
您使用32位還是64位WampServer? – RiggsFolly 2014-11-03 20:49:17
我正在使用64位WampServer – 4EACH 2014-11-04 07:41:49