Instalar zeromq en el servidor WAMP de Windows 7

9

Estoy buscando instalar zeromq en mi máquina con Windows 7 para usar zeromq con PHP (estoy usando el servidor WAMP (5.3.4), Apache Server 2.2.17).

Seguí la documentación en su sitio , pero no sé qué hacer. Instalé el zeromq desde el siguiente sitio , luego intenté copiar el dll de este sitio pero no funciona.

¿Dónde puedo obtener la DLL? ¿Quiero instalar solo el instalador de Windows desde este enlace , o se necesita algo más?

He descargado el dll de este sitio http://178.79.157.189/~mikko/win32/php-zmq-win32.zip


Estoy usando la versión PHP 5.3.4 x64 y Windows 7 x64. Intenté los siguientes pasos:

  1. He instalado ZeroMQ-3.2.2rc2~miru1.5-x64
  2. copiado libzmq.dllac:\wamp\bin\php\php5.3.4
  3. copiado php-zmq\php53\php53-ts_zeromq-3.2.2 ac:\wamp\bin\php\php5.3.4\ext
  4. habilitó la php_zmqextensión enphp.ini
  5. Reinicié el WAMP. Muestra

    'c:/wamp/bin/php/php5.3.4/ext/php_zmq.dll' -% 1 no es una aplicación win32 válida

¿Cual podría ser el problema?

Nuevamente probé con la versión Wamp x86 (php 5.4.3) y Windows 7 x64

  1. He instalado ZeroMQ-3.2.2rc2~miru1.5-x86.exe
  2. copiado libzmq.dllac:\wamp\bin\php\php5.4.3
  3. copiado php-zmq\php54\php54-ts_zeromq-3.2.2 ac:\wamp\bin\php\php5.4.3\ext
  4. habilitó la php_zmqextensión enphp.ini
  5. Reinicié el WAMP. Muestra

    Inicio de PHP: no se puede cargar la biblioteca dinámica 'c: /wamp/bin/php/php5.4.3/ext/php_zmq.dll' - No se pudo encontrar el módulo especificado. \ R \ n en Desconocido en la línea 0

Thirumalai murugan
fuente

Respuestas:

9

Dado que este es el principal resultado de búsqueda en Google para los problemas de zeromq dll con PHP en Windows, le agrego mis dos centavos.

Pasos adecuados para configurar zeroMQ con PHP:

1) Descargue el paquete DLL correcto para PHP

La página de descarga de DLL para PHP ZeroMQ ahora se encuentra en http://pecl.php.net/package/zmq ( http://snapshot.zeromq.com está muerto). Aparecerá un pequeño enlace 'DLL' junto a cada versión disponible. '. Ese es tu enlace. Haga clic en él y seleccione su dll en función de su versión de PHP y si es seguro para subprocesos (TS) o no seguro para subprocesos (NTS).

Si viene del paquete XAMPP, su DLL debe ser la versión TS y x86 .

2) Asegúrese de tener instalado el paquete redistribuible de Microsoft Visual C ++ correcto.

Al momento de escribir este artículo, la versión correcta es la 2012. Enlace para descargar el paquete: http://www.microsoft.com/en-us/download/details.aspx?id=30679

3) Copie phpzmq.dll y libzmq.dll (del paquete dll en el paso 1) a su directorio PHP \ Extensions (la ruta predeterminada de XAMPP php ext es: C: \ xampp \ php \ ext)

4) Agregue phpzmq.dll a su PHP.ini

5) Agregue el directorio PHP \ extensiones a las variables de entorno de su sistema PATH (muy importante) y reinicie su máquina

Al reiniciar, inicia tu apache y reza a los dioses PHP.

Preguntas frecuentes para errores comunes:

1) Tengo una ventana emergente que dice "'libzmq.dll' no se encuentra en mi computadora" al iniciar apache.

Bien, asegúrese de seguir el paso 5 al pie de la letra y verifique que la ruta del directorio sea correcta y que la dll esté presente en ese directorio.

2) Otra ventana emergente que dice "'php5.dll' no se encuentra en mi computadora" al iniciar apache.

Parece que tienes el dll incorrecto para tu versión de php. Descargue el correcto del paso 1.

3) Aparece una ventana emergente aleatoria que dice "'phpzmq.dll' no es una aplicación win 32 válida".

Esa DLL todavía no es correcta. Asegúrese de tener el correcto (x86 o x64) y que sea seguro para subprocesos o no. ¿Cómo sabrías? Hora de jugar a la ruleta DLL.

Esperando que esta publicación realmente ayude a los usuarios que aterrizan aquí :)

Mysteryos
fuente
Gran respuesta gracias. He estado buscando un enlace a los dll correctos durante años.
ibanore
3

La respuesta de @ Mysteryos es bastante informativa, pero es inexacta. Hay pocos errores en los pasos 3 y 4 que vale la pena mencionar.

Procedimiento correcto en el servidor WAMP
Paso 3)

  • i) Copie libzmq.dll en el directorio raíz de php bin (por ejemplo, C: \ wamp \ bin \ php \ php5.5.12)
  • ii) Copie php_zmq.dll en el directorio de extensiones php (por ejemplo, C: \ wamp \ bin \ php \ php5.5.12 \ ext)
  • Estoy usando el php_zmq-1.1.2-5.5-ts-vc11-x64.zip (php 5.5, hilo seguro) que puede obtener de este enlace http://pecl.php.net/package/zmq .
  • Asegúrese de descargar la que coincida con su versión de php (5.x), de lo contrario, aparecerá el mensaje "Otra ventana emergente que dice" 'php5.dll' no se encuentra en mi computadora "al iniciar Apache"


Paso 4)
Agregue la declaración phpzmq.dll a su PHP.ini.

Es importante notar que hay pocos php.ini en el directorio del servidor WAMP.
El php correcto está en C: \ wamp \ bin \ apache \ apache2.4.9 \ php.ini Agregue
la siguiente declaración al php.ini mencionado anteriormente.

[ZMQ]
extension=php_zmq.dll
Zcythe
fuente
1
¡Si! libzmq.dlllibsodium.dll
Copia
"Copiar libzmq.dll al directorio raíz de php bin" hizo el trabajo
Sid
2

Yo tuve el mismo problema. Usar dll desde la php-zmq_zeromq-{version}-ztscarpeta me solucionó el problema.

Monte
fuente
de donde podemos obtener ese dll ¿puedes compartirme?
Thirumalai murugan
0

Seguí las instrucciones de @Mysteryos y @Zcythe, pero seguía recibiendo un error de No se puede cargar el módulo, así que después de revisar los foros de WAMP en francés, pude trabajar después de los siguientes cambios después del paso 4:

Edite el archivo config.inc.php ubicado en C: \ wamp \ scripts

Buscar:

$phpDllToCopy = array_merge(
    $php_icu_dll,
    array (
    'libmysql.dll',
    'libeay32.dll',
    'libsasl.dll',
    'libpq.dll',
    'libssh2.dll', //For php 5.5.17
    'php5isapi.dll',
    'php5nsapi.dll',
    'ssleay32.dll',
    'php5ts.dll',
    'php7ts.dll', //For PHP 7
    )
);

Y luego agregue las 2 bibliotecas ZeroMQ para que se vea así:

$phpDllToCopy = array_merge(
    $php_icu_dll,
    array (
    'libmysql.dll',
    'libeay32.dll',
    'libsasl.dll',
    'libpq.dll',
    'libssh2.dll', //For php 5.5.17
    'php5isapi.dll',
    'php5nsapi.dll',
    'ssleay32.dll',
    'php5ts.dll',
    'php7ts.dll', //For PHP 7
    'Libsodium.dll', //The ZMQ Libraries
    'Libzmq.dll'
    )
);

Reinicie WAMP y tiene que funcionar correctamente.

Probé esto con la siguiente biblioteca ZMQ:

https://pecl.php.net/package/zmq/1.1.3/windows

  • (7.0 Thread Safe (TS) x64, PHP 7.0.10)

¡Saludos!

Ultranuke
fuente
0

Pasos para instalar zeroMQ en PHP 5.3, PHP 7.1 y 7.2 en Windows

Lo más probable es que desee su versión PHP, x64 y Thread Safe,
pero puede tener una versión x32 de PHP

$ php -i | grep Architecture  
Architecture => x64
  • para PHP 5.3

descarga 5.3 Thread Safe (TS) x86,
extrae y copia los dlls

copiar libzmq.dllen
C: \ wamp \ bin \ php \ php5.3.4
no hay libsodium.dllen PHP 5.3

copiar php_zmq.dllen
C: \ wamp \ bin \ php \ php5.3.4 \ ext

agregue la extensión a su php.ini,
generalmente con las otras extensiones dinámicas

extension=php_zmq.dll

  • para PHP 7.1

descarga 7.1 Thread Safe (TS) x64,
extrae y copia los dlls

copiar libzmq.dlly libsodium.dllen
C: \ laragon \ bin \ php \ php-7.1.20-Win32-VC14-x64
hay un dll adicional libsodium.dllpara PHP 7.1

copiar php_zmq.dllen
C: \ laragon \ bin \ php \ php-7.1.20-Win32-VC14-x64 \ ext

agregue la extensión a su php.ini, generalmente con las otras extensiones dinámicas

extension=php_zmq.dll

  • para PHP 7.2

descargar 7.2 Thread Safe (TS) x64
extraer y copiar los dlls

copiar libzmq.dllen
C: \ laragon \ bin \ php \ php-7.2.11-Win32-VC15-x64
no hay libsodium.dlldespués de PHP 7.1

copiar php_zmq.dllen
C: \ laragon \ bin \ php \ php-7.2.11-Win32-VC15-x64 \ ext

agregue la extensión a su php.ini, generalmente con las otras extensiones dinámicas

extension=zmq

  • verificar mediante la visualización de información de php
$ php -i | grep zmq  
zmq  
libzmq version => 4.1.3
browniebytes
fuente