Instalando o zeromq no servidor WAMP do Windows 7

9

Estou procurando instalar o zeromq na minha máquina Windows 7 para usar o zeromq com PHP (estou usando o servidor WAMP (5.3.4), Apache Server 2.2.17).

Eu segui a documentação em seu site , mas não sei o que fazer. Eu instalei o zeromq a partir do site a seguir e tentei copiar a dll deste site, mas está inoperante.

Onde posso obter a DLL? Quero instalar apenas o instalador do Windows a partir deste link ou é necessário mais alguma coisa?

Eu baixei a dll deste site http://178.79.157.189/~mikko/win32/php-zmq-win32.zip


Estou usando a versão PHP 5.3.4 x64 e o Windows 7 x64. Eu tentei as seguintes etapas:

  1. Eu instalei ZeroMQ-3.2.2rc2~miru1.5-x64
  2. copiado libzmq.dllparac:\wamp\bin\php\php5.3.4
  3. copiado php-zmq\php53\php53-ts_zeromq-3.2.2 parac:\wamp\bin\php\php5.3.4\ext
  4. habilitou a php_zmqextensão emphp.ini
  5. Eu reiniciei o WAMP. Isto mostra

    'c:/wamp/bin/php/php5.3.4/ext/php_zmq.dll' -% 1 não é um aplicativo win32 válido

Qual poderia ser o problema?

Mais uma vez tentei com a versão Wamp x86 (php 5.4.3) e o Windows 7 x64

  1. Eu instalei ZeroMQ-3.2.2rc2~miru1.5-x86.exe
  2. copiado libzmq.dllparac:\wamp\bin\php\php5.4.3
  3. copiado php-zmq\php54\php54-ts_zeromq-3.2.2 parac:\wamp\bin\php\php5.4.3\ext
  4. habilitou a php_zmqextensão emphp.ini
  5. Eu reiniciei o WAMP. Isto mostra

    Inicialização do PHP: Não foi possível carregar a biblioteca dinâmica 'c: /wamp/bin/php/php5.4.3/ext/php_zmq.dll' - O módulo especificado não pôde ser encontrado. \ R \ n em Desconhecido na linha 0

Thirumalai murugan
fonte

Respostas:

9

Dado que este é o principal resultado de pesquisa no Google para problemas de dll zeromq com PHP no Windows, estou adicionando meus dois centavos a ele.

Etapas apropriadas para configurar zeroMQ com PHP:

1) Faça o download do pacote DLL correto para PHP

A página de download da DLL para PHP ZeroMQ agora é encontrada em http://pecl.php.net/package/zmq ( http://snapshot.zeromq.com está morta) Um pequeno link 'DLL' estará presente ao lado de cada versão disponível ' Esse é o seu link. Clique nele e selecione sua dll com base na sua versão do PHP e se é thread Safe (TS) ou Non-thread Safe (NTS).

Se você é proveniente do pacote XAMPP, sua DLL deve ser a versão TS & x86 .

2) Verifique se você tem o pacote redistribuível correto do Microsoft Visual C ++ instalado.

Até o momento em que este artigo foi escrito, a versão correta é a de 2012. Link para download do pacote: http://www.microsoft.com/en-us/download/details.aspx?id=30679

3) Copie o phpzmq.dll e o libzmq.dll (do pacote dll na etapa 1) para o diretório PHP \ Extensions (o caminho padrão do XAMPP php ext é: C: \ xampp \ php \ ext)

4) Adicione o phpzmq.dll ao seu PHP.ini

5) Adicione o diretório PHP \ extensions às variáveis ​​de ambiente do sistema PATH (muito importante) e reinicie sua máquina

Ao reiniciar, inicie seu apache e ore aos deuses do PHP.

Perguntas frequentes sobre erros comuns:

1) Tenho um pop-up dizendo "'libzmq.dll' está ausente no meu computador" ao iniciar o apache.

Bem, certifique-se de seguir a etapa 5 até a letra e verifique se o caminho do diretório está correto e a DLL está presente nesse diretório.

2) Outro pop-up dizendo "'php5.dll' está ausente no meu computador" ao iniciar o apache.

Parece que você obteve a dll errada para a sua versão do php. Baixe o correto da etapa 1.

3) Um pop-up aleatório apareceu dizendo "'phpzmq.dll' não é um aplicativo win 32 válido."

Essa DLL ainda não está correta. Verifique se você encontrou o caminho certo (x86 ou x64) e se é seguro para threads ou não para thread. Como você saberia? Hora de jogar a roleta DLL.

Espero que este post realmente ajude os usuários que chegam aqui :)

Mysteryos
fonte
Ótima resposta, obrigado. Eu tenho procurado um link para a dll correta para idades.
ibanore 6/09/14
3

A resposta do @ Mysteryos é bastante informativa, mas é imprecisa. Existem alguns erros nas etapas 3 e 4 que vale a pena mencionar.

Procedimento correto no servidor WAMP
Etapa 3)

  • i) Copie o libzmq.dll para o diretório raiz do php bin (por exemplo: C: \ wamp \ bin \ php \ php5.5.12)
  • ii) Copie o php_zmq.dll no diretório de extensões php (por exemplo: C: \ wamp \ bin \ php \ php5.5.12 \ ext)
  • Estou usando o php_zmq-1.1.2-5.5-ts-vc11-x64.zip (php 5.5, thread safe) que pode ser obtido neste link http://pecl.php.net/package/zmq .
  • Certifique-se de baixar o que corresponde à sua versão php (5.x), caso contrário, você receberá o erro "Outro pop-up dizendo" 'php5.dll' está ausente no meu computador "ao iniciar o apache"


Etapa 4)
Adicione a declaração phpzmq.dll ao seu PHP.ini

É importante notar que existem poucos php.ini no diretório do servidor WAMP.
O php correto está em C: \ wamp \ bin \ apache \ apache2.4.9 \ php.ini
Anexe a seguinte declaração ao php.ini mencionado acima.

[ZMQ]
extension=php_zmq.dll
Zcythe
fonte
11
sim! Cópia captura agradável libzmq.dlle libsodium.dllpara dir php raiz
manix
"Copiar libzmq.dll para php bin root" fez o job..ty
Sid
2

Eu tive o mesmo problema. Usando dll da php-zmq_zeromq-{version}-ztspasta corrigiu o problema para mim.

Monte
fonte
de onde podemos obter essa dll, você pode me compartilhar?
Thirumalai murugan 6/06/2013
0

Segui as instruções de @Mysteryos e @Zcythe, mas ainda estava recebendo um erro Não foi possível carregar o módulo, então, depois de revisar os fóruns do WAMP em francês, consegui que funcionasse após as próximas alterações após a etapa 4:

Edite o arquivo config.inc.php localizado em C: \ wamp \ scripts

Olhe para:

$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, em seguida, adicione as 2 bibliotecas ZeroMQ para que se pareça com:

$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 o WAMP e ele deve funcionar corretamente.

Eu testei isso com a seguinte biblioteca ZMQ:

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

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

Saudações!

Ultranuke
fonte
0

Etapas para instalar zeroMQ no PHP 5.3, PHP 7.1 e 7.2 no Windows

Provavelmente você deseja sua versão PHP, x64 e Thread Safe,
mas você pode ter uma versão x32 do PHP

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

baixar 5.3 Thread Safe (TS) x86
extrai e copia as DLLs

copiar libzmq.dllem
C: \ wamp \ bin \ php \ php5.3.4
não existe libsodium.dllno PHP 5.3

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

adicione a extensão ao seu php.ini,
geralmente com as outras extensões dinâmicas

extension=php_zmq.dll

  • para PHP 7.1

baixar 7.1 Thread Safe (TS) x64
extrair e copiar as DLLs

copiar libzmq.dlle libsodium.dllem
C: \ laragon \ bin \ php \ php-7.1.20-Win32-VC14-x64,
há uma dll extra libsodium.dllpara o PHP 7.1

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

adicione a extensão ao seu php.ini, geralmente com as outras extensões dinâmicas

extension=php_zmq.dll

  • para PHP 7.2

baixar 7.2 Thread Safe (TS) x64
extrair e copiar as DLLs

copiar libzmq.dllem
C: \ laragon \ bin \ php \ php-7.2.11-Win32-VC15-x64
não existe libsodium.dlldepois do PHP 7.1

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

adicione a extensão ao seu php.ini, geralmente com as outras extensões dinâmicas

extension=zmq

  • verificar, visualizando informações php
$ php -i | grep zmq  
zmq  
libzmq version => 4.1.3
browniebytes
fonte