การติดตั้ง zeromq บนเซิร์ฟเวอร์ Windows 7 WAMP


9

ฉันกำลังมองหาการติดตั้ง zeromq บนเครื่อง Windows 7 ของฉันสำหรับการใช้ zeromq กับ PHP (ฉันใช้เซิร์ฟเวอร์ 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.dllไปยังc:\wamp\bin\php\php5.3.4
  3. คัดลอกphp-zmq\php53\php53-ts_zeromq-3.2.2 ไปยังc:\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.dllไปยังc:\wamp\bin\php\php5.4.3
  3. คัดลอกphp-zmq\php54\php54-ts_zeromq-3.2.2 ไปยังc:\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

ระบุว่านี่คือผลการค้นหายอดนิยมใน Google สำหรับปัญหา dll zeromq กับ PHP บน windows ฉันเพิ่มสองเซ็นต์ของฉันไป

ขั้นตอนที่เหมาะสมในการตั้งค่า zeroMQ ด้วย PHP:

1) ดาวน์โหลดแพ็คเกจ DLL ที่ถูกต้องสำหรับ PHP

DLL หน้าดาวน์โหลดสำหรับ PHP ZeroMQ พบได้ที่http://pecl.php.net/package/zmq ( http://snapshot.zeromq.comตายแล้ว) ลิงก์ 'DLL' เล็ก ๆ จะปรากฏอยู่ข้าง ๆ ' นั่นคือลิงค์ของคุณ คลิกที่มันและเลือก dll ของคุณตามเวอร์ชัน PHP ของคุณและไม่ว่าจะเป็นเธรด Safe (TS) หรือ Non-thread Safe (NTS)

ถ้าคุณมาจากแพคเกจ XAMPP, DLL ของคุณควรจะTS & x86 รุ่น

2) ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Microsoft Visual C ++ Redistributable Package ที่ถูกต้องแล้ว

ขณะที่เขียนนี้รุ่นที่ถูกต้องคือ 2012 ลิงก์ไปยังแพ็คเกจดาวน์โหลด: http://www.microsoft.com/en-us/download/details.aspx?id=30679

3) คัดลอก phpzmq.dll & libzmq.dll (จากแพ็คเกจ dll ในขั้นตอนที่ 1) ไปยังไดเรกทอรี PHP \ Extensions ของคุณ (เส้นทาง XAMPP php ext เริ่มต้นคือ: C: \ xampp \ php \ ext)

4) เพิ่ม phpzmq.dll ใน PHP.ini ของคุณ

5) เพิ่มไดเรกทอรี PHP \ extensions ลงในตัวแปรสภาพแวดล้อมระบบ PATH (สำคัญมาก) & รีสตาร์ทเครื่อง

เมื่อรีสตาร์ทให้เริ่มต้น Apache ของคุณและสวดภาวนาต่อเทพเจ้า PHP

คำถามที่พบบ่อยสำหรับข้อผิดพลาดทั่วไป:

1) ฉันมีป๊อปอัพว่า "'libzmq.dll' หายไปจากคอมพิวเตอร์ของฉัน" เมื่อเริ่มต้น apache

อืมดีให้แน่ใจว่าคุณทำตามขั้นตอนที่ 5 ถึงตัวอักษรและตรวจสอบว่าเส้นทางไดเรกทอรีถูกต้องและ dll ที่มีอยู่ในไดเรกทอรี

2) ป๊อปอัพอื่นว่า "'php5.dll' หายไปจากคอมพิวเตอร์ของฉัน" เมื่อเริ่มต้น apache

ดูเหมือนว่าคุณมี dll ผิดสำหรับรุ่น php ของคุณ ดาวน์โหลดหนึ่งที่ถูกต้องจากขั้นตอนที่ 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)
  • ฉันใช้ php_zmq-1.1.2-5.5-ts-vc11-x64.zip (PHP 5.5 ปลอดภัยด้าย) ซึ่งสามารถได้รับจากการเชื่อมโยงนี้ http://pecl.php.net/package/zmq
  • ตรวจสอบให้แน่ใจว่าคุณดาวน์โหลดอันที่ตรงกับเวอร์ชั่น php ของคุณ (5.x) มิฉะนั้นคุณจะได้รับ "ป๊อปอัพอีกอันที่พูดว่า" 'php5.dll' หายไปจากคอมพิวเตอร์ของฉัน "เมื่อเริ่ม apache" ข้อผิดพลาด


ขั้นตอนที่ 4)
เพิ่มการประกาศ phpzmq.dll ใน PHP.ini ของคุณ

สิ่งสำคัญคือให้สังเกตว่ามี php.ini น้อยในไดเรกทอรีเซิร์ฟเวอร์ WAMP
php ที่ถูกต้องอยู่ใน C: \ wamp \ bin \ apache \ apache2.4.9 \ php.ini
ผนวกการประกาศต่อไปนี้ใน php.ini ที่กล่าวถึงข้างต้น

[ZMQ]
extension=php_zmq.dll

1
ใช่ จับการคัดลอกที่ดีlibzmq.dllและlibsodium.dllเพื่อ PHP ราก dir
manix

"คัดลอก libzmq.dll ไปยังไดเรกทอรีรากของ php bin" ทำหน้าที่ได้ ..ty
Sid

2

ผมมีปัญหาเดียวกัน. ใช้ dll จากphp-zmq_zeromq-{version}-ztsโฟลเดอร์แก้ไขปัญหาให้ฉัน


จากที่เราจะได้รับ dll ที่คุณสามารถแบ่งปันฉันได้ไหม
ธีรุมาลัยมุนดู

0

ฉันทำตามคำแนะนำโดย @Mysteryos และ @ Zcythe แต่ฉันยังคงได้รับข้อผิดพลาดไม่สามารถโหลดโมดูลดังนั้นหลังจากตรวจสอบฟอรัม WAMP ในภาษาฝรั่งเศสฉันได้รับมันให้ทำงานหลังจากการเปลี่ยนแปลงถัดไปหลังจากขั้นตอนที่ 4:

แก้ไขไฟล์ config.inc.php ที่อยู่ใน C: \ wamp \ สคริปต์

มองหา:

$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

ขั้นตอนในการติดตั้ง zeroMQ ใน PHP 5.3, PHP 7.1 และ 7.2 บน Windows

ส่วนใหญ่คุณต้องการรุ่น PHP, x64 และ Thread Safe
แต่คุณอาจมี PHP รุ่น x32

$ php -i | grep Architecture  
Architecture => x64
  • สำหรับ PHP 5.3

ดาวน์โหลด 5.3 Thread Safe (TS) x86
แยกแล้วคัดลอก DLLs

คัดลอกlibzmq.dllลงใน
C: \ wamp \ bin \ php \ php5.3.4
ไม่มีlibsodium.dllใน PHP 5.3

คัดลอกphp_zmq.dllลงใน
C: \ wamp \ bin \ php \ php5.3.4 \ ext

เพิ่มส่วนขยายใน php.ini ของคุณ
โดยปกติจะใช้กับส่วนขยายแบบไดนามิกอื่น ๆ

extension=php_zmq.dll

  • สำหรับ PHP 7.1

ดาวน์โหลด 7.1 Thread Safe (TS) x64
แตกแล้วคัดลอกไฟล์ dll

คัดลอกlibzmq.dllและlibsodium.dllเข้าสู่
C: \ laragon \ bin \ php \ php-7.1.20-Win32-VC14-x64
มี dll พิเศษlibsodium.dllสำหรับ PHP 7.1

คัดลอกphp_zmq.dllลงใน
C: \ laragon \ bin \ php \ php-7.1.20-Win32-VC14-x64 \ ext

เพิ่มส่วนขยายใน php.ini ของคุณโดยปกติจะใช้กับส่วนขยายแบบไดนามิกอื่น ๆ

extension=php_zmq.dll

  • สำหรับ PHP 7.2

ดาวน์โหลด 7.2 Thread Safe (TS) x64
แตกแล้วคัดลอกไฟล์ dll

คัดลอกlibzmq.dllลงใน
C: \ laragon \ bin \ php \ php-7.2.11-Win32-VC15-x64
ไม่มีlibsodium.dllหลังจาก PHP 7.1

คัดลอกphp_zmq.dllลงใน
C: \ laragon \ bin \ php \ php-7.2.11-Win32-VC15-x64 \ ext

เพิ่มส่วนขยายใน 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.