Installazione di zeromq sul server WAMP di Windows 7


9

Sto cercando l'installazione di zeromq sul mio computer Windows 7 per l'utilizzo di zeromq con PHP (sto usando il server WAMP (5.3.4), Apache Server 2.2.17).

Ho seguito la documentazione sul loro sito , ma non so cosa fare. Ho installato zeromq dal seguente sito , quindi ho provato a copiare la dll da questo sito ma è inattivo.

Dove posso trovare la DLL? Voglio installare solo il programma di installazione di Windows da questo link o c'è qualcos'altro necessario?

Ho scaricato la dll da questo sito http://178.79.157.189/~mikko/win32/php-zmq-win32.zip


Sto usando PHP 5.3.4 versione x64 e Windows 7 x64. Ho provato i seguenti passaggi:

  1. Ho installato ZeroMQ-3.2.2rc2~miru1.5-x64
  2. copiato libzmq.dllinc:\wamp\bin\php\php5.3.4
  3. copiato php-zmq\php53\php53-ts_zeromq-3.2.2 inc:\wamp\bin\php\php5.3.4\ext
  4. abilitato l' php_zmqestensione inphp.ini
  5. Ho riavviato il WAMP. Mostra

    'c:/wamp/bin/php/php5.3.4/ext/php_zmq.dll' -% 1 non è un'applicazione win32 valida

Quale potrebbe essere il problema?

Ancora una volta ho provato con la versione di Wamp x86 (php 5.4.3) e Windows 7 x64

  1. Ho installato ZeroMQ-3.2.2rc2~miru1.5-x86.exe
  2. copiato libzmq.dllinc:\wamp\bin\php\php5.4.3
  3. copiato php-zmq\php54\php54-ts_zeromq-3.2.2 inc:\wamp\bin\php\php5.4.3\ext
  4. abilitato l' php_zmqestensione inphp.ini
  5. Ho riavviato il WAMP. Mostra

    Avvio di PHP: Impossibile caricare la libreria dinamica 'c: /wamp/bin/php/php5.4.3/ext/php_zmq.dll' - Impossibile trovare il modulo specificato. \ R \ n in Sconosciuto alla riga 0

Risposte:


9

Dato che questo è il principale risultato di ricerca su Google per problemi di zeromq dll con PHP su Windows, sto aggiungendo i miei due centesimi ad esso.

Passaggi corretti per impostare zeroMQ con PHP:

1) Scarica il pacchetto DLL corretto per PHP

La pagina di download DLL per PHP ZeroMQ è ora disponibile su http://pecl.php.net/package/zmq ( http://snapshot.zeromq.com è morto) Un piccolo collegamento 'DLL' sarà presente accanto a ogni 'versione disponibile '. Questo è il tuo link. Cliccaci sopra e seleziona la tua dll in base alla tua versione di PHP e se si tratta di thread Safe (TS) o Non-thread Safe (NTS).

Se provieni dal pacchetto XAMPP, la tua DLL dovrebbe essere la versione TS e x86 .

2) Assicurarsi di avere installato il pacchetto ridistribuibile Microsoft Visual C ++ corretto.

Al momento della stesura di questo documento, la versione corretta è quella del 2012. Link per scaricare il pacchetto: http://www.microsoft.com/en-us/download/details.aspx?id=30679

3) Copia phpzmq.dll e libzmq.dll (dal pacchetto dll nel passaggio 1) nella tua directory PHP \ Extensions (il percorso ext predefinito di php XAMPP è: C: \ xampp \ php \ ext)

4) Aggiungi phpzmq.dll al tuo PHP.ini

5) Aggiungi la directory PHP \ extensions alle variabili di ambiente del tuo sistema PATH (molto importante) e riavvia il tuo computer

Al riavvio, avvia apache e prega gli dei PHP.

FAQ per errori comuni:

1) Ho un popup che dice "'libzmq.dll' manca dal mio computer" all'avvio di apache.

Bene, assicurati di aver seguito il passaggio 5 alla lettera e verifica che il percorso della directory sia corretto e che la dll sia presente in quella directory.

2) Un altro popup che dice "'php5.dll' manca dal mio computer" all'avvio di apache.

Sembra che tu abbia la dll sbagliata per la tua versione di php. Scarica quello corretto dal passaggio 1.

3) È apparso un popup casuale che diceva "'phpzmq.dll' non è un'applicazione win 32 valida."

Quella DLL non è ancora corretta. Assicurati di avere quello giusto (x86 o x64) e che sia thread-safe o non-thread-safe. Come lo sapresti? È ora di giocare alla roulette DLL.

Spero che questo post aiuti effettivamente gli utenti che arrivano qui :)


Ottima risposta grazie. Ho cercato un link per la DLL corretta per anni.
ibanore,

3

La risposta di @ Mysteryos è piuttosto istruttiva ma è inaccurata. Ci sono alcuni errori nei punti 3 e 4 che vale la pena menzionare.

Procedura corretta nel server WAMP
Passaggio 3)

  • i) Copia libzmq.dll nella directory principale del bin php (ad es. C: \ wamp \ bin \ php \ php5.5.12)
  • ii) Copia php_zmq.dll nella directory delle estensioni php (ad es. C: \ wamp \ bin \ php \ php5.5.12 \ ext)
  • Sto usando php_zmq-1.1.2-5.5-ts-vc11-x64.zip (php 5.5, thread safe) che può ottenere da questo link http://pecl.php.net/package/zmq .
  • Assicurati di scaricare quello che corrisponde alla tua versione di php (5.x), altrimenti otterrai "Un altro popup che dice" manca "php5.dll" dal mio computer "all'avvio di apache"


Passaggio 4)
Aggiungi la dichiarazione phpzmq.dll al tuo PHP.ini

È importante notare che ci sono pochi php.ini nella directory del server WAMP.
Il php corretto è in C: \ wamp \ bin \ apache \ apache2.4.9 \ php.ini
Aggiungere la seguente dichiarazione nel php.ini sopra menzionato.

[ZMQ]
extension=php_zmq.dll

1
Si! Nice catch copy libzmq.dlle libsodium.dllphp root dir
manix

"Copia libzmq.dll nella directory root bin php" ha fatto il lavoro..ty
Sid

2

Ho avuto lo stesso problema. L'uso della DLL dalla php-zmq_zeromq-{version}-ztscartella ha risolto il problema per me.


da dove possiamo ottenere quella DLL mi puoi condividere?
Thirumalai murugan,

0

Ho seguito le istruzioni di @Mysteryos e @Zcythe, ma continuavo a ricevere l'errore Impossibile caricare il modulo, quindi dopo aver esaminato i forum WAMP in francese, l'ho fatto funzionare seguendo le successive modifiche dopo il passaggio 4:

Modifica il file config.inc.php situato in C: \ wamp \ scripts

Cercare:

$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
    )
);

E quindi aggiungi le 2 librerie ZeroMQ in modo che appaiano:

$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'
    )
);

Riavvia WAMP e deve funzionare correttamente.

Ho provato questo con la seguente libreria ZMQ:

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

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

Saluti!


0

Passaggi per installare zeroMQ in PHP 5.3, PHP 7.1 e 7.2 su Windows

Molto probabilmente vuoi la tua versione di PHP, x64 e Thread Safe
ma potresti avere una versione x32 di PHP

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

scarica 5.3 Thread Safe (TS) x86
estrae e copia le dll

copia libzmq.dllin
C: \ wamp \ bin \ php \ php5.3.4
non c'è libsodium.dllin PHP 5.3

copia php_zmq.dllin
C: \ wamp \ bin \ php \ php5.3.4 \ ext

aggiungi l'estensione al tuo php.ini, di
solito con le altre estensioni dinamiche

extension=php_zmq.dll

  • per PHP 7.1

scarica 7.1 Thread Safe (TS) x64
estrae e copia le dll

copia libzmq.dlle libsodium.dllin
C: \ laragon \ bin \ php \ php-7.1.20-Win32-VC14-x64
c'è una dll aggiuntiva libsodium.dllper PHP 7.1

copia php_zmq.dllin
C: \ laragon \ bin \ php \ php-7.1.20-Win32-VC14-x64 \ ext

aggiungi l'estensione al tuo php.ini, di solito con le altre estensioni dinamiche

extension=php_zmq.dll

  • per PHP 7.2

scarica 7.2 Thread Safe (TS) x64
estrae e copia le dll

copia libzmq.dllin
C: \ laragon \ bin \ php \ php-7.2.11-Win32-VC15-x64
non c'è libsodium.dlldopo PHP 7.1

copia php_zmq.dllin
C: \ laragon \ bin \ php \ php-7.2.11-Win32-VC15-x64 \ ext

aggiungi l'estensione al tuo php.ini, di solito con le altre estensioni dinamiche

extension=zmq

  • verifica visualizzando le informazioni php
$ php -i | grep zmq  
zmq  
libzmq version => 4.1.3
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.