2011-07-08 22 views
5

Primero, no soy un programador. Soy un administrador de red a quien se le ha pedido que compile PHP para nuestro diseñador web con SSH2 habilitado.Problemas para compilar PHP con extensión pecl SSH2 para Windows

He estado siguiendo este recorrido para compilar PHP para Windows: https://wiki.php.net/internals/windows/stepbystepbuild

Recopilar, estoy usando: Microsoft Visual C++ Studio 2008 Express Microsoft Windows SDK 6.1

He descargado todos obligatorios libraries y bibliotecas necesarias para SSH2. Los extraje y los coloqué en la carpeta 'deps'. También descargué el código de extensión SSH2 y lo coloqué en una carpeta 'pecl' que creé en el directorio 'x86'.

Parece que el compilador no encuentra las bibliotecas que he agregado. ¡Cualquier ayuda sería muy apreciada! ¡Gracias!

Éstos son algunos de los errores que consigo al intentar compilar usando el siguiente comando:

C:\php-sdk\php53dev\vc9\x86\php5.3-201107071830>configure --enable-cli --with-ss 
h2 

Checking for library libjpeg_a.lib;libjpeg.lib ... <not found> 
WARNING: gd not enabled; libraries and headers not found 

Checking for zlib.h ... <not found> 
Checking for zlib.h ... <not found> 
WARNING: zip not enabled; libraries and headers not found 


Checking for library libiconv_a.lib ... <not found> 
Checking for library libiconv.lib ... <not found> 
Checking for library iconv_a.lib ... <not found> 
Checking for library iconv.lib ... <not found> 
WARNING: iconv support can't be enabled, libraries or headers are missing 

Checking for library zlib_a.lib;zlib.lib ... <not found> 
WARNING: zlib support can't be enabled, zlib is missing 


Checking for library libssh2_a.lib;libssh2.lib ... <not found> 
WARNING: ssh2 not enabled: libraries or headers not found 

Checking for library libxml2_a_dll.lib;libxml2_a.lib ... ..\deps\libxml2-2.7.3.w 
in32\lib\libxml2_a_dll.lib 
Checking for library libiconv_a.lib;iconv_a.lib;libiconv.lib;iconv.lib ... <not 
found> 

WARNING: libxml support can't be enabled, iconv or libxml are missing 

WARNING: simplexml not enabled; libraries and headers not found 

WARNING: xml support can't be enabled, libraries or headers are missing 

WARNING: dom support can't be enabled, libxml is not enabled 
+0

Creo que necesita mostrar el compilador donde se encuentra la ruta de la biblioteca. Entonces, el compilador al menos debería encontrar las librerías que ha descargado. – hakre

+0

¿Alguien sabe que debe mostrar el compilador donde está la ruta de la biblioteca? Parece que no puedo encontrar nada que funcione. Estoy usando la línea de comando de Windows SDK. Cuando agrego la ruta de la biblioteca en la interfaz gráfica de Visual C++ 2008 Express, no soluciona el problema ... Gracias –

+0

¿Pudo resolver este problema? Me encontré con problemas similares, excepto que mis problemas salen de la línea de comandos como problema de LNK: –

Respuesta

0

Pierre está haciendo algunas versiones y los pone a disposición aquí: http://downloads.php.net/pierre/, como el official place está siendo trabajado.

Si necesita algo específico, póngase en contacto con él en IRC: # php.pecl @ efnet. Por lo general, está dispuesto a invertir algo de tiempo ayudando con compilaciones.

De todos modos hay algunas compilaciones para ssh2, simplemente presione CTRL + F en su navegador después de eso.

2

Para SSH2: (URL actualizada, colocamos todas las versiones allí, bajo pecl/snaps, también se puede encontrar una compilación de instantáneas).

http://windows.php.net/downloads/pecl/releases/ssh2/

Para el error en su construcción, se están perdiendo todas las bibliotecas predeterminadas. Pero si lo que quieres es ssh2, utilice:

configuración --disable-all --enable-cli = --con-ß2 compartieron

(NTS zts o pueden requerir la opción zts también)

+0

Esto definitivamente ayudó y encontré lo que necesitaba allí para php 5.4, pero ¿cómo podría alguien saber de esto? Además, ¿no compilaría? Por favor, mira un comentario que publiqué en la publicación original. Estoy bastante seguro de que tenía todo correcto pero el enlazador no pudo resolver los símbolos externos en los archivos libssh2_a.lib por algún motivo. Bueno, gracias, pero GRANDEMENTE agradecería cualquier comentario que me puedan dar sobre mis problemas con los enlazadores. –

0

Faltan dependencias, es decir, libssh2. Deberá compilarlo primero y luego colocar las inclusiones en la ruta include y el archivo lib en la ruta lib. Para el PHP SDK, estos son, respectivamente, deps/lib y deps/include.

Ejecute configure nuevamente.

Cuestiones relacionadas