ssh2_connect - PHP instalar SSH2 en la máquina de Windows
pecl ssh2 (8)
- Coloque
php_ssh2.dll
en la carpeta ext - Coloque
libssh2.dll
en la carpeta php - Reiniciar
IIS
eso me funciona
-
PHP 5.4.25 NTS + Windows Server 2012
Estoy tratando de instalar this en una máquina Windows+Apache
. La documentación dice que SSH2 requiere las bibliotecas OpenSSL
y libssh2
. He añadido estas líneas en mi archivo php.ini
:
extension=php_openssl.dll
extension=php_ssh2.dll
y reinició Apache pero aún no funciona ( Fatal error: Call to undefined function ssh2_connect()
).
¿Alguien me puede explicar cómo instalar este servicio?
Gracias
ps: soy italiano, lo siento por mi inglés ...
Arreglo que funcionó para mí. Estoy ejecutando xampp v. 3.2.1 apache 2.2 que enfrenta el mismo problema. Intenté colocar los archivos dll en una ubicación c: diferente, pero finalmente falló. Esto ayudó.
1.) Descargue los archivos dll específicos de la versión desde http://pecl.php.net/package/ssh2/0.12/windows y extraiga los archivos
Tenga en cuenta que aunque esté en la versión de Windows de 64 bits, descargue la versión 32 de THREAD SAFE ssh, es decir, Thread Safe (TS) x86 según su versión de PHP
2.) Agregar / reemplazar el archivo libssh2.dll en C: / xampp / php (instalación estándar)
3.) Agregar / reemplazar php_ssh2.dll y php_ssh2.pdb dentro de C: / xampp / php / ext (instalación estándar)
4.) reiniciar el servidor apache
Trabajado como un encanto
ACLAMACIONES
Así es como lo hice:
Descargué la extensión Win32 SSH2 PECL desde esta ubicación (elija la versión apropiada);
Extrae el contenido del archivo y:
- colocó los archivos
php_ssh2.dll
yphp_ssh2.pdb
en la carpetaext
(por ejemplo,C:/php/ext
); - copió el archivo
libssh2.dll
aC:/Windows/system32
y (si tiene Win64) carpeta (s)C:/Windows/SysWOW64
;
- colocó los archivos
Ejecute el siguiente comando para registrar la DLL:
C:/> regsvr32 libssh2.dll
Reiniciado apache.
Nota final
Si tiene PHP x64, debe buscar la versión x64 de la biblioteca / DLL de SSH2. Este sitio ofrece algunas bibliotecas compiladas de Win64 para PHP, pruebe aquí primero.
Espero que esto ayude.
En primer lugar, su pregunta revela dos conceptos erróneos:
La sección de Requirements realidad dice esto:
Se requieren las bibliotecas »OpenSSL y» libssh2. Asegúrese de que las bibliotecas de desarrollo estén instaladas, donde un nombre de paquete típico podría ser openssl-dev.
No se trata de extensiones de PHP, se trata de bibliotecas de terceros que no tienen nada que ver con PHP.
extension=php_ssh2.dll
requiere que realmente tenga un archivo llamadophp_ssh2.dll
en el directorioext
de PHP y probablemente no lo tenga, principalmente porque no está incluido con PHP.
Si revisamos el capítulo de Installation , podemos leer que SSH2 es una extensión de PECL. Hay algunos enlaces con instrucciones, pero puedo hacer un resumen de la información importante:
- Necesita un archivo
php_ssh2.dll
que coincida con su instalación de PHP. - Ni el equipo de PHP ni el equipo de PECL distribuyen dicho archivo.
- Instalar las extensiones PECL en Windows es difícil. Debe descargar el código fuente de C, tomar un compilador de C y crear el archivo usted mismo o encontrar a alguien que ya lo haya hecho por usted.
Dijo que, a menos que php_ssh2.dll
en Google php_ssh2.dll
y encuentre algo relevante, probablemente no tenga suerte.
He instalado wamp con PHP 5.6.25 / 7.0.10 - MySQL 5.7.14 instalado y actualmente estoy trabajando en PHP 7.0. Yo tenía el mismo error. Verifiqué usando phpinfo () si las bibliotecas OpenSSL y libssh2 funcionaban (puedes buscar en google cómo verificarlo). Después de que pude ver que estaban trabajando, descargué php_ssh2.dll en http://pecl.php.net/package/ssh2/1.0/windows (también se puede encontrar en http://windows.php.net/downloads/pecl/releases/ssh2/ ) para la versión 7.0, póngalo en la carpeta php / ext. Que lo incluí en el archivo php.ini utilizando extension = php_ssh2.dll.
Luego apareció en phpinfo (). Y funcionó. Espero eso ayude.
Si alguien tiene problemas para instalar SSH2, así es como lo hice:
1) Descargue la biblioteca SSH2 PECL de PHP.net [elija la versión apropiada].
2) Copie libssh2.dll
en la libssh2.dll
System32 [x86] o SysWOW64 [x64].
3) Copie php_ssh2.dll
y php_ssh2.pdb
en la carpeta php / ext .
4) Eliminar '';'' desde la línea ;extension=php_ssh2.dll
en php.ini. Si esta línea no está en su php.ini, agréguela.
5) Reinicie Apache .
Si está ejecutando xamp 3.2.1 y PHP 5.6.8, esto podría ser útil para usted.
Haga lo que dice alex b y descargue el paquete que corresponda dependiendo de su versión de php (y bits) de esta página ( link )
¡He descargado y reemplazado en C: / xampp / php / ext y funcionó!
Espero que esto ayude, saludos.
libssh2 (deps): http://windows.php.net/downloads/php-sdk/deps/
php_ssh2 (ext): http://windows.php.net/downloads/pecl/releases/ssh2/0.12/
Las versiones anteriores a 5.5 ya tienen el libssh2.dll (desde el segundo enlace)