Instalando o zeromq no servidor WAMP do Windows 7

8

Estou procurando instalar o zeromq na minha máquina com Windows 7 para usar 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 do seguinte site , então eu tentei copiar a dll deste site mas está desativado.

Onde posso obter a DLL? Eu quero instalar apenas o instalador do Windows de deste link , ou há mais alguma coisa necessária?

Eu fiz o download da dll deste site http://178.79.157.189/~mikko/win32/php-zmq-win32.zip

Estou usando o PHP 5.3.4 x64 e o Windows 7 x64. Eu tentei os seguintes passos:

  1. Eu instalei ZeroMQ-3.2.2rc2~miru1.5-x64
  2. copied libzmq.dll to c:\wamp\bin\php\php5.3.4
  3. copied php-zmq\php53\php53-ts_zeromq-3.2.2 to c:\wamp\bin\php\php5.3.4\ext
  4. ativou a extensão php_zmq em php.ini
  5. Eu reiniciei o WAMP. Mostra

    'c:/wamp/bin/php/php5.3.4/ext/php_zmq.dll' - %1 is not a valid win32 application

Qual poderia ser o problema?

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

  1. Eu instalei ZeroMQ-3.2.2rc2~miru1.5-x86.exe
  2. copied libzmq.dll to c:\wamp\bin\php\php5.4.3
  3. copied php-zmq\php54\php54-ts_zeromq-3.2.2 to c:\wamp\bin\php\php5.4.3\ext
  4. ativou a extensão php_zmq em php.ini
  5. Eu reiniciei o WAMP. Mostra

    PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.4.3/ext/php_zmq.dll' - The specified module could not be found.\r\n in Unknown on line 0

por Thirumalai murugan 20.04.2013 / 11:55

4 respostas

8

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

Etapas adequadas para configurar o zeroMQ com o PHP:

1) Baixe o pacote DLL correto para o PHP

Página de download de DLL para PHP ZeroMQ agora é encontrado no link ( link está morto) Um minúsculo link 'DLL' estará presente ao lado de cada 'release 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ê estiver vindo do pacote XAMPP, sua DLL deve ser TS & versão x86 .

2) Certifique-se de ter o Pacote Redistribuível do Microsoft Visual C ++ correto instalado.

No momento em que escrevo, a versão correta é a de 2012. Link para o download do pacote: link

3) Copie o arquivo phpzmq.dll & libzmq.dll (do pacote dll na etapa 1) para o seu diretório PHP \ Extensions (o caminho padrão do XAMPP php é: 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) & reinicie sua máquina

Ao reiniciar, inicie seu apache & ore aos deuses PHP.

Perguntas frequentes sobre erros comuns:

1) I have a popup saying "'libzmq.dll' is missing from my computer" when starting apache.

Bem, certifique-se de que você seguiu a etapa 5 até a carta e verifique se o caminho do diretório está correto e se a dll está presente nesse diretório.

2) Another popup saying "'php5.dll' is missing from my computer" when starting apache.

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

3) A random popup appeared saying "'phpzmq.dll' is not a valid win 32 application."

Essa DLL ainda não está correta. Certifique-se de que você tem o caminho certo (x86 ou x64) e que ele é seguro para thread ou não. Como você saberia? Hora de jogar a roleta das DLLs.

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

    
por 30.06.2014 / 08:28
3

@ A resposta de Mysteryos é bastante informativa, mas é imprecisa. Existem alguns erros no passo 3 & 4 vale a pena mencionar.

Procedimento correto no servidor WAMP
Etapa 3)

  • i) Copie libzmq.dll para o diretório raiz do php (por exemplo, C: \ wamp \ bin \ php \ php5.5.12)
  • ii) Copie php_zmq.dll para o diretório extensões do 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 seguro) que pode obter deste link link .
  • Certifique-se de baixar o que corresponde à sua versão do PHP (5.x), senão você vai receber "Outro popup dizendo" "php5.dll" está faltando do meu computador "ao iniciar o apache" erro


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 no php.ini mencionado acima.

[ZMQ]
extension=php_zmq.dll
    
por 13.05.2015 / 07:29
2

Eu tive o mesmo problema. Usando dll da pasta php-zmq_zeromq-{version}-zts , resolvi o problema para mim.

    
por 05.06.2013 / 18:00
0

Eu segui as instruções de @Mysteryos e @Zcythe, mas ainda estava recebendo um erro Unable to load module, 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

Procure:

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

Em seguida, adicione as 2 bibliotecas do ZeroMQ para que pareçam:

$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 tem que funcionar corretamente.

Eu testei isso com a seguinte biblioteca do ZMQ:

link

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

Saudações!

    
por 26.08.2017 / 21:01