Menginstal zeromq pada server Windows 7 WAMP

9

Saya mencari untuk menginstal zeromq pada mesin Windows 7 saya untuk menggunakan zeromq dengan PHP (Saya menggunakan server WAMP (5.3.4), Apache Server 2.2.17).

Saya mengikuti dokumentasi di situs mereka , tetapi saya tidak tahu harus berbuat apa. Saya menginstal zeromq dari situs berikut , lalu saya mencoba menyalin dll dari situs ini tetapi tidak berfungsi .

Di mana saya bisa mendapatkan DLL? Apakah saya ingin menginstal hanya penginstal Windows dari tautan ini , atau adakah yang dibutuhkan?

Saya telah mengunduh dll dari situs ini http://178.79.157.189/~mikko/win32/php-zmq-win32.zip


Saya menggunakan versi PHP 5.3.4 x64 dan Windows 7 x64. Saya mencoba langkah-langkah berikut:

  1. Saya telah menginstal ZeroMQ-3.2.2rc2~miru1.5-x64
  2. disalin libzmq.dllkec:\wamp\bin\php\php5.3.4
  3. disalin php-zmq\php53\php53-ts_zeromq-3.2.2 kec:\wamp\bin\php\php5.3.4\ext
  4. mengaktifkan php_zmqekstensi diphp.ini
  5. Saya memulai ulang WAMP. Itu menunjukkan

    'c:/wamp/bin/php/php5.3.4/ext/php_zmq.dll' -% 1 bukan aplikasi win32 yang valid

Apa yang bisa menjadi masalah?

Sekali lagi saya mencoba dengan versi Wamp x86 (php 5.4.3) dan windows 7 x64

  1. Saya telah menginstal ZeroMQ-3.2.2rc2~miru1.5-x86.exe
  2. disalin libzmq.dllkec:\wamp\bin\php\php5.4.3
  3. disalin php-zmq\php54\php54-ts_zeromq-3.2.2 kec:\wamp\bin\php\php5.4.3\ext
  4. mengaktifkan php_zmqekstensi diphp.ini
  5. Saya memulai ulang WAMP. Itu menunjukkan

    Startup PHP: Tidak dapat memuat pustaka dinamis 'c: /wamp/bin/php/php5.4.3/ext/php_zmq.dll' - Modul yang ditentukan tidak dapat ditemukan. \ R \ n di Tidak Dikenal pada baris 0

Thirumalai murugan
sumber

Jawaban:

9

Mengingat bahwa ini adalah hasil pencarian teratas di Google untuk masalah dll zeromq dengan PHP di windows, saya menambahkan dua sen saya untuk itu.

Langkah-langkah yang Tepat untuk mengatur zeroMQ dengan PHP:

1) Unduh paket DLL yang benar untuk PHP

Halaman Unduhan DLL untuk PHP ZeroMQ sekarang ditemukan di http://pecl.php.net/package/zmq ( http://snapshot.zeromq.com sudah mati) Tautan kecil 'DLL' akan hadir di samping setiap rilis yang tersedia ' Itu tautan Anda. Klik di atasnya, dan pilih dll Anda berdasarkan versi PHP Anda dan apakah itu thread Safe (TS) atau Non-thread Safe (NTS).

Jika Anda berasal dari Paket XAMPP, DLL Anda harus versi TS & x86 .

2) Pastikan Anda telah menginstal Paket Microsoft Visual C ++ Redistributable yang benar.

Pada tulisan ini, versi yang benar adalah versi 2012. Tautan untuk mengunduh Paket: http://www.microsoft.com/en-us/download/details.aspx?id=30679

3) Salin phpzmq.dll & libzmq.dll (dari paket dll pada langkah 1) ke Direktori PHP \ Extensions Anda (Default XAMPP php ext path adalah: C: \ xampp \ php \ ext)

4) Tambahkan phpzmq.dll ke PHP.ini Anda

5) Tambahkan direktori PHP \ extensions ke variabel lingkungan sistem PATH Anda (sangat penting) & restart mesin Anda

Setelah restart, mulai apache Anda & berdoa kepada dewa-dewa PHP.

FAQ untuk kesalahan umum:

1) Saya memiliki sembulan yang mengatakan "'libzmq.dll' hilang dari komputer saya" saat memulai apache.

Sial, pastikan Anda mengikuti langkah 5 ke surat itu dan memverifikasi bahwa jalur direktori sudah benar dan dll ada di direktori itu.

2) Munculan lain yang mengatakan "'php5.dll' hilang dari komputer saya" saat memulai apache.

Sepertinya Anda mendapatkan dll yang salah untuk versi php Anda. Unduh yang benar dari langkah 1.

3) Munculan acak muncul mengatakan "'phpzmq.dll' bukan aplikasi win 32 yang valid."

DLL itu masih belum benar. Pastikan Anda mendapatkan yang benar (x86 atau x64) dan aman atau tidak aman. Bagaimana kamu tahu? Saatnya memainkan roulette DLL.

Berharap posting ini benar-benar membantu pengguna yang mendarat di sini :)

Mysteryos
sumber
Jawaban yang bagus terima kasih. Saya telah mencari tautan ke dll yang benar sejak lama.
ibanore
3

@ Jawaban Mysteryos cukup informatif tetapi tidak akurat. Ada beberapa kesalahan dalam langkah 3 & 4 yang layak disebutkan.

Prosedur yang benar di server WAMP
Langkah 3)

  • i) Salin libzmq.dll ke direktori root bin php (mis. C: \ wamp \ bin \ php \ php5.5.12)
  • ii) Salin php_zmq.dll ke direktori ekstensi php (mis. C: \ wamp \ bin \ php \ php5.5.12 \ ext)
  • Saya menggunakan php_zmq-1.1.2-5.5-ts-vc11-x64.zip (php 5.5, thread safe) yang dapat diperoleh dari tautan ini http://pecl.php.net/package/zmq .
  • Pastikan Anda mengunduh versi yang sesuai dengan versi php Anda (5.x), jika tidak Anda akan mendapatkan "Popup lain yang mengatakan" 'php5.dll' hilang dari komputer saya "saat memulai apache" kesalahan


Langkah 4)
Tambahkan deklarasi phpzmq.dll ke PHP.ini Anda.

Penting untuk diperhatikan bahwa ada beberapa php.ini di direktori server WAMP.
Php yang benar ada di C: \ wamp \ bin \ apache \ apache2.4.9 \ php.ini
Tambahkan deklarasi berikut ke dalam php.ini yang disebutkan di atas.

[ZMQ]
extension=php_zmq.dll
Zcythe
sumber
1
Ya! libzmq.dlllibsodium.dll
Pengambilan
"Salin libzmq.dll ke direktori bin root php" melakukan pekerjaan..ty
Sid
2

Saya memiliki masalah yang sama. Menggunakan dll dari php-zmq_zeromq-{version}-ztsfolder memperbaiki masalah bagi saya.

Monte
sumber
dari mana kita bisa mendapatkan dll yang bisa Anda bagikan?
Thirumalai murugan
0

Saya mengikuti instruksi oleh @Mysteryos dan @Zcythe, tapi saya masih menerima Unable to load module module, jadi setelah meninjau forum WAMP dalam bahasa Perancis, saya membuatnya berfungsi setelah perubahan berikutnya setelah langkah 4:

Edit file config.inc.php yang terletak di skrip C: \ wamp \

Mencari:

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

Dan kemudian tambahkan 2 perpustakaan ZeroMQ sehingga terlihat seperti:

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

Mulai ulang WAMP dan harus berfungsi dengan benar.

Saya menguji ini dengan perpustakaan ZMQ berikut:

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

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

Salam pembuka!

Ultranuke
sumber
0

Langkah-langkah untuk menginstal zeroMQ di PHP 5.3, PHP 7.1, dan 7.2 di Windows

Kemungkinan besar Anda menginginkan versi PHP, x64, dan Thread Safe
tetapi Anda mungkin memiliki versi PHP x32

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

unduh 5.3 Thread Safe (TS) x86
ekstrak dan salin dll

salin libzmq.dllke
C: \ wamp \ bin \ php \ php5.3.4
tidak ada libsodium.dlldi PHP 5.3

salin php_zmq.dllke
C: \ wamp \ bin \ php \ php5.3.4 \ ext

tambahkan ekstensi ke php.ini Anda,
biasanya dengan Ekstensi Dinamis lainnya

extension=php_zmq.dll

  • untuk PHP 7.1

unduh 7.1 Utas Aman (TS) x64
ekstrak dan salin dll

salin libzmq.dlldan libsodium.dllke
C: \ laragon \ bin \ php \ php-7.1.20-Win32-VC14-x64
ada dll tambahan libsodium.dlluntuk PHP 7.1

salin php_zmq.dllke
C: \ laragon \ bin \ php \ php-7.1.20-Win32-VC14-x64 \ ext

tambahkan ekstensi ke php.ini Anda, biasanya dengan Ekstensi Dinamis lainnya

extension=php_zmq.dll

  • untuk PHP 7.2

unduh 7.2
Extract Safe Thread (TS) x64 dan salin dll

salin libzmq.dllke
C: \ laragon \ bin \ php \ php-7.2.11-Win32-VC15-x64
tidak ada libsodium.dllsetelah PHP 7.1

salin php_zmq.dllke
C: \ laragon \ bin \ php \ php-7.2.11-Win32-VC15-x64 \ ext

tambahkan ekstensi ke php.ini Anda, biasanya dengan Ekstensi Dinamis lainnya

extension=zmq

  • verifikasi dengan melihat info php
$ php -i | grep zmq  
zmq  
libzmq version => 4.1.3
browniebytes
sumber