Windows 7 WAMP 서버에 zeromq 설치


9

PHP와 함께 zeromq를 사용하기 위해 Windows 7 컴퓨터에 zeromq를 설치하려고합니다 (WAMP 서버 (5.3.4), Apache Server 2.2.17을 사용하고 있습니다).

나는 그들의 사이트에 있는 문서를 따랐 지만 어떻게해야할지 모르겠다. 다음 사이트에서 zeromq 설치 한 다음 이 사이트 에서 dll을 복사하려고했지만 다운되었습니다.

DLL은 어디서 구할 수 있습니까? 이 링크에서 Windows 설치 프로그램 만 설치하려고 합니까 아니면 다른 필요한 것이 있습니까?

이 사이트에서 dll을 다운로드했습니다 http://178.79.157.189/~mikko/win32/php-zmq-win32.zip


PHP 5.3.4 x64 버전과 Windows 7 x64를 사용하고 있습니다. 다음 단계를 시도했습니다.

  1. 설치했습니다 ZeroMQ-3.2.2rc2~miru1.5-x64
  2. 복사 libzmq.dllc:\wamp\bin\php\php5.3.4
  3. 복사 php-zmq\php53\php53-ts_zeromq-3.2.2c:\wamp\bin\php\php5.3.4\ext
  4. php_zmq확장을 활성화php.ini
  5. WAMP를 다시 시작했습니다. 이것은 보여준다

    'c:/wamp/bin/php/php5.3.4/ext/php_zmq.dll' -% 1은 유효한 win32 응용 프로그램이 아닙니다

무엇이 문제 일 수 있습니까?

다시 Wamp x86 (php 5.4.3) 버전과 Windows 7 x64로 시도했습니다.

  1. 설치했습니다 ZeroMQ-3.2.2rc2~miru1.5-x86.exe
  2. 복사 libzmq.dllc:\wamp\bin\php\php5.4.3
  3. 복사 php-zmq\php54\php54-ts_zeromq-3.2.2c:\wamp\bin\php\php5.4.3\ext
  4. php_zmq확장을 활성화php.ini
  5. WAMP를 다시 시작했습니다. 이것은 보여준다

    PHP 시작 : 동적 라이브러리 'c : /wamp/bin/php/php5.4.3/ext/php_zmq.dll'을 (를)로드 할 수 없습니다-지정된 모듈을 찾을 수 없습니다. \ r \ n 0 행의 알 수 없음

답변:


9

이것이 Windows에서 PHP의 zeromq dll 문제에 대한 Google의 최고 검색 결과이므로, 여기에 2 센트를 추가하고 있습니다.

PHP로 zeroMQ를 설정하는 올바른 단계 :

1) PHP에 맞는 DLL 패키지를 다운로드하십시오

PHP ZeroMQ 용 DLL 다운로드 페이지는 이제 http://pecl.php.net/package/zmq 에서 찾을 수 있습니다 ( http://snapshot.zeromq.com 이 종료되었습니다) 각 '사용 가능한 릴리스 옆에 작은'DLL '링크가 있습니다. '. 그게 당신의 링크입니다. 그것을 클릭하고 PHP 버전과 스레드 안전 (TS) 또는 비 스레드 안전 (NTS) 여부에 따라 dll을 선택하십시오.

XAMPP 패키지에서 오는 경우 DLL은 TS & x86 버전 이어야합니다 .

2) 올바른 Microsoft Visual C ++ 재배포 가능 패키지가 설치되어 있는지 확인하십시오.

이 글을 쓰는 시점에서 올바른 버전은 2012 버전입니다. 패키지 다운로드 링크 : http://www.microsoft.com/en-us/download/details.aspx?id=30679

3) phpzmq.dll 및 libzmq.dll (1 단계의 dll 패키지에서)을 PHP \ Extensions 디렉토리 (기본 XAMPP php ext 경로는 C : \ xampp \ php \ ext)로 복사하십시오 .

4) phpzmq.dll을 PHP.ini에 추가하십시오

5) PHP \ extensions 디렉토리를 PATH 시스템 환경 변수에 추가하고 (매우 중요) 머신을 다시 시작하십시오.

다시 시작하면 아파치를 시작하고 PHP 신들에게기도하십시오.

일반적인 오류에 대한 FAQ :

1) 아파치를 시작할 때 " 'libzmq.dll'이 컴퓨터에 없습니다 '라는 팝업창이 있습니다.

글쎄, 당신은 편지 5 단계를 수행하고 디렉토리 경로가 올 바르고 dll이 해당 디렉토리에 있는지 확인하십시오.

2) 아파치를 시작할 때 " 'php5.dll'이 (가) 컴퓨터에 없습니다."라는 또 다른 팝업 창이 나타납니다.

PHP 버전에 대해 잘못된 dll이있는 것 같습니다. 1 단계에서 올바른 것을 다운로드하십시오.

3) " 'phpzmq.dll'은 (는) 잘못된 win 32 응용 프로그램이 아닙니다."라는 임의의 팝업이 나타납니다.

해당 DLL이 여전히 올바르지 않습니다. 올바른 것을 얻었는지 (x86 또는 x64) 그것이 스레드 안전하거나 스레드 안전하지 않은지 확인하십시오. 당신은 어떻게 알겠습니까? DLL 룰렛을 재생할 시간입니다.

이 게시물을 희망하면 실제로 여기에 도달하는 사용자에게 도움이됩니다. :)


큰 답변 감사합니다. 나이에 맞는 올바른 dll에 대한 링크를 찾고 있습니다.
ibanore

3

@Mysteryos의 답변은 매우 유익하지만 정확하지 않습니다. 3 단계와 4 단계에서 언급 할 가치가있는 실수는 거의 없습니다.

WAMP 서버의 올바른 절차
3 단계)

  • i) libzmq.dll을 PHP bin 루트 디렉토리에 복사하십시오 (예 : C : \ wamp \ bin \ php \ php5.5.12)
  • ii) php_zmq.dll을 PHP 확장 디렉토리에 복사하십시오 (예 : C : \ wamp \ bin \ php \ php5.5.12 \ ext)
  • 이 링크 http://pecl.php.net/package/zmq 에서 얻을 수있는 php_zmq-1.1.2-5.5-ts-vc11-x64.zip (php 5.5, thread safe)을 사용하고 있습니다 .
  • PHP 버전 (5.x)과 일치하는 파일을 다운로드해야합니다. 그렇지 않으면 아파치를 시작할 때 ""컴퓨터에 ''php5.dll '이 없습니다 "라는 팝업이 나타납니다."오류가 발생합니다.


4 단계)
phpzmq.dll 선언을 PHP.ini에 추가하십시오

. WAMP 서버 디렉토리에 php.ini가 거의 없다는 것을 알아야합니다.
올바른 PHP는 C : \ wamp \ bin \ apache \ apache2.4.9 \ php.ini에
있습니다. 위에서 언급 한 php.ini에 다음 선언을 추가하십시오.

[ZMQ]
extension=php_zmq.dll

1
네! 멋진 캐치 복사 libzmq.dlllibsodium.dllPHP 루트 디렉토리
Manix

"php bin 루트 디렉토리에 libzmq.dll 복사"job..ty
Sid

2

나는 같은 문제가 있었다. php-zmq_zeromq-{version}-zts폴더 에서 dll을 사용 하면 문제가 해결되었습니다.


dll을 어디서 구할 수 있습니까?
Thirumalai murugan 2016

0

@Mysteryos 및 @Zcythe의 지침을 따랐지만 여전히 모듈을로드 할 수 없습니다 오류가 발생하여 프랑스어로 된 WAMP 포럼을 검토 한 후 4 단계 후에 다음 변경 사항에 따라 작동하도록했습니다.

C : \ wamp \ scripts에있는 config.inc.php 파일을 편집하십시오.

찾다:

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

그런 다음 2 개의 ZeroMQ 라이브러리를 추가하여 다음과 같이 표시하십시오.

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

WAMP를 다시 시작하면 제대로 작동해야합니다.

다음 ZMQ 라이브러리로 이것을 테스트했습니다.

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

  • (7.0 스레드 안전 (TS) x64, PHP 7.0.10)

인사말!


0

Windows에서 PHP 5.3, PHP 7.1 및 7.2에 zeroMQ를 설치하는 단계

PHP 버전, x64 및 Thread Safe가 필요
하지만 x32 버전의 PHP가있을 수 있습니다.

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

5.3 Thread Safe (TS) x86
추출 및 dll 복사

C : \ wamp \ bin \ php \ php5.3.4 libzmq.dll로 복사 PHP 5.3 에는 없습니다 .

libsodium.dll

C : \ wamp \ bin \ php \ php5.3.4 \ ext php_zmq.dll로 복사


일반적으로 다른 동적 확장 을 사용하여 php.ini에 확장을 추가하십시오.

extension=php_zmq.dll

  • PHP 7.1 용

7.1 Thread Safe (TS) x64
추출 및 dll 복사

복사 libzmq.dlllibsodium.dll
C : \ laragon \ 빈 \ PHP \ PHP-7.1.20-Win32에서-VC14-64
여분의 DLL이 libsodium.dllPHP 7.1이

복사 php_zmq.dll
C : \ laragon \ 빈 \ PHP \ PHP-7.1.20-Win32에서-VC14-64 \ 내선

일반적으로 다른 동적 확장을 사용하여 php.ini에 확장을 추가하십시오.

extension=php_zmq.dll

  • PHP 7.2 용

7.2 Thread Safe (TS) x64
추출 및 dll 복사

복사 libzmq.dll
C : \ laragon \ 빈 \ PHP \ PHP-7.2.11-Win32에서-VC15-64
에는 없다 libsodium.dll후 PHP 7.1

복사 php_zmq.dll
C : \ laragon \ 빈 \ PHP \ PHP-7.2.11-Win32에서-VC15-64 \ 내선

일반적으로 다른 동적 확장을 사용하여 php.ini에 확장을 추가하십시오.

extension=zmq

  • PHP 정보를 확인하여 확인
$ php -i | grep zmq  
zmq  
libzmq version => 4.1.3
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.