Cài đặt zeromq trên máy chủ Windows 7 WAMP


9

Tôi đang tìm cách cài đặt zeromq trên máy Windows 7 của mình để sử dụng zeromq với PHP (Tôi đang sử dụng máy chủ WAMP (5.3.4), Máy chủ Apache 2.2.17).

Tôi đã làm theo tài liệu trên trang của họ , nhưng tôi không biết phải làm gì. Tôi đã cài đặt zeromq từ trang web sau , sau đó tôi đã cố gắng sao chép dll từ trang web này nhưng nó đã bị hỏng.

Tôi có thể lấy DLL ở đâu? Tôi có muốn chỉ cài đặt trình cài đặt Windows từ liên kết này không , hay còn gì nữa không?

Tôi đã tải xuống dll từ trang web này http://178.79.157.189/~mikko/win32/php-zmq-win32.zip


Tôi đang sử dụng phiên bản PHP 5.3.4 x64 và Windows 7 x64. Tôi đã thử các bước sau:

  1. tôi đã cài ZeroMQ-3.2.2rc2~miru1.5-x64
  2. sao chép libzmq.dllvàoc:\wamp\bin\php\php5.3.4
  3. sao chép php-zmq\php53\php53-ts_zeromq-3.2.2 vàoc:\wamp\bin\php\php5.3.4\ext
  4. kích hoạt php_zmqtiện ích mở rộng trongphp.ini
  5. Tôi khởi động lại WAMP. Nó cho thấy

    'c:/wamp/bin/php/php5.3.4/ext/php_zmq.dll' -% 1 không phải là ứng dụng win32 hợp lệ

Điều gì có thể là vấn đề?

Một lần nữa tôi đã thử với phiên bản Wamp x86 (php 5.4.3) và windows 7 x64

  1. tôi đã cài ZeroMQ-3.2.2rc2~miru1.5-x86.exe
  2. sao chép libzmq.dllvàoc:\wamp\bin\php\php5.4.3
  3. sao chép php-zmq\php54\php54-ts_zeromq-3.2.2 vàoc:\wamp\bin\php\php5.4.3\ext
  4. kích hoạt php_zmqtiện ích mở rộng trongphp.ini
  5. Tôi khởi động lại WAMP. Nó cho thấy

    Khởi động PHP: Không thể tải thư viện động 'c: /wamp/bin/php/php5.4.3/ext/php_zmq.dll' - Không thể tìm thấy mô-đun được chỉ định. \ R \ n trong Unknown trên dòng 0

Câu trả lời:


9

Cho rằng đây là kết quả tìm kiếm hàng đầu trên Google cho các vấn đề về zeromq dll với PHP trên windows, tôi đang thêm hai xu của mình vào đó.

Các bước thích hợp để thiết lập zeroMQ với PHP:

1) Tải xuống gói DLL chính xác cho PHP

Trang tải xuống DLL cho PHP ZeroMQ hiện được tìm thấy tại http://pecl.php.net/package/zmq ( http://snapshot.zeromq.com đã chết) Liên kết 'DLL' nhỏ sẽ xuất hiện bên cạnh mỗi bản phát hành có sẵn '. Đó là liên kết của bạn. Nhấp vào nó và chọn dll của bạn dựa trên phiên bản PHP của bạn và xem đó là An toàn chủ đề (TS) hay An toàn không theo chủ đề (NTS).

Nếu bạn đến từ Gói XAMPP, DLL của bạn phải là phiên bản TS & x86 .

2) Đảm bảo bạn đã cài đặt Gói Redistributable Microsoft Visual C ++ chính xác.

Theo văn bản này, phiên bản chính xác là năm 2012. Liên kết để tải xuống Gói: http://www.microsoft.com/en-us/doad/details.aspx?id=30679

3) Sao chép phpzmq.dll & libzmq.dll (từ gói dll ở bước 1) vào Thư mục PHP \ Tiện ích mở rộng của bạn (Đường dẫn mở rộng XAMPP php mặc định là: C: \ xampp \ php \ ext)

4) Thêm phpzmq.dll vào PHP.ini của bạn

5) Thêm thư mục PHP \ extend vào các biến môi trường hệ thống PATH của bạn (rất quan trọng) và khởi động lại máy của bạn

Khi khởi động lại, bắt đầu apache của bạn và cầu nguyện với các vị thần PHP.

Câu hỏi thường gặp cho các lỗi phổ biến:

1) Tôi có một cửa sổ bật lên nói "'libzmq.dll' bị thiếu trong máy tính của tôi" khi bắt đầu apache.

Chà, chắc chắn rằng bạn đã làm theo bước 5 đến chữ cái và xác minh rằng đường dẫn thư mục là chính xác và dll có trong thư mục đó.

2) Một cửa sổ bật lên khác nói "'php5.dll' bị thiếu trong máy tính của tôi" khi bắt đầu apache.

Có vẻ như bạn đã nhận sai dll cho phiên bản php của mình. Tải về một trong những chính xác từ bước 1.

3) Một cửa sổ bật lên ngẫu nhiên xuất hiện với nội dung "'phpzmq.dll' không phải là ứng dụng win 32 hợp lệ."

DLL đó vẫn không đúng. Hãy chắc chắn rằng bạn đã chọn đúng (x86 hoặc x64) và đó là an toàn chủ đề hoặc không an toàn chủ đề. Sao bạn biết? Thời gian để chơi roulette DLL.

Hy vọng bài đăng này thực sự giúp người dùng hạ cánh ở đây :)


Câu trả lời tuyệt vời cảm ơn. Tôi đã tìm kiếm một liên kết đến các dll chính xác cho các lứa tuổi.
ibanore

3

Câu trả lời của @ Mysteryos khá nhiều thông tin nhưng không chính xác. Có một vài sai lầm trong bước 3 & 4 đáng để đề cập.

Quy trình đúng trong máy chủ WAMP
Bước 3)

  • i) Sao chép libzmq.dll vào thư mục gốc của bin bin (ví dụ: C: \ wamp \ bin \ php \ php5.5.12)
  • ii) Sao chép php_zmq.dll vào thư mục tiện ích mở rộng php (ví dụ: C: \ wamp \ bin \ php \ php5.5.12 \ ext)
  • Tôi đang sử dụng php_zmq-1.1.2-5.5-ts-vc11-x64.zip (php 5.5, luồng an toàn) có thể lấy từ liên kết này http://pecl.php.net/package/zmq .
  • Hãy chắc chắn rằng bạn tải xuống phiên bản phù hợp với phiên bản php của bạn (5.x), nếu không bạn sẽ nhận được thông báo "Một cửa sổ bật lên khác nói" 'php5.dll "bị lỗi từ máy tính của tôi" khi bắt đầu lỗi "


Bước 4)
Thêm khai báo phpzmq.dll vào PHP.ini của bạn

Điều quan trọng cần lưu ý là có ít php.ini trong thư mục máy chủ WAMP.
Php chính xác nằm trong C: \ wamp \ bin \ apache \ apache2.4.9 \ php.ini
Nối phần khai báo sau vào php.ini đã đề cập ở trên.

[ZMQ]
extension=php_zmq.dll

1
Vâng! Bắt bản sao tuyệt vời libzmq.dlllibsodium.dllvào thư mục gốc của php
manix

"Sao chép libzmq.dll vào thư mục gốc của bin bin" đã thực hiện công việc..ty
Sid

2

Tôi đã từng gặp vấn đề tương tự. Sử dụng dll từ php-zmq_zeromq-{version}-ztsthư mục đã khắc phục vấn đề cho tôi.


chúng ta có thể chia sẻ với tôi từ đâu?
Thirumalai murugan

0

Tôi đã làm theo hướng dẫn của @Mysteryos và @Zcythe, nhưng tôi vẫn nhận được lỗi Không thể tải mô-đun, vì vậy sau khi xem xét các diễn đàn WAMP bằng tiếng Pháp, tôi đã làm cho nó hoạt động theo các thay đổi tiếp theo sau bước 4:

Chỉnh sửa tệp config.inc.php nằm trong C: \ wamp \ scripts

Tìm kiếm:

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

Và sau đó thêm 2 thư viện ZeroMQ để nó trông như sau:

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

Khởi động lại WAMP và nó phải hoạt động đúng.

Tôi đã thử nghiệm điều này với thư viện ZMQ sau:

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

  • (7.0 Chủ đề an toàn (TS) x64, PHP 7.0.10)

Lời chào hỏi!


0

Các bước để cài đặt zeroMQ trong PHP 5.3, PHP 7.1 và 7.2 trên Windows

Rất có thể bạn muốn phiên bản PHP, x64 và Thread Safe
nhưng bạn có thể có phiên bản x32 của PHP

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

tải xuống 5.3 Trích xuất chủ đề Safe (TS) x86
và sao chép các dll

sao chép libzmq.dllvào
C: \ wamp \ bin \ php \ php5.3.4
không có libsodium.dlltrong PHP 5.3

sao chép php_zmq.dllvào
C: \ wamp \ bin \ php \ php5.3.4 \ ext

thêm tiện ích mở rộng vào php.ini của bạn,
thường là với các Tiện ích mở rộng động khác

extension=php_zmq.dll

  • cho PHP 7.1

tải xuống 7.1 Trích xuất chủ đề Safe (TS) x64
và sao chép các dll

sao chép libzmq.dlllibsodium.dllvào
C: \ laragon \ bin \ php \ php-7.1.20-Win32-VC14-x64
có thêm một dll libsodium.dllcho PHP 7.1

sao chép php_zmq.dllvào
C: \ laragon \ bin \ php \ php-7.1.20-Win32-VC14-x64 \ ext

thêm tiện ích mở rộng vào php.ini của bạn, thường là với các Tiện ích mở rộng động khác

extension=php_zmq.dll

  • cho PHP 7.2

tải về 7.2 Trích xuất chủ đề Safe (TS) x64
và sao chép các dll

sao chép libzmq.dllvào
C: \ laragon \ bin \ php \ php-7.2.11-Win32-VC15-x64
không có libsodium.dllsau PHP 7.1

sao chép php_zmq.dllvào
C: \ laragon \ bin \ php \ php-7.2.11-Win32-VC15-x64 \ ext

thêm tiện ích mở rộng vào php.ini của bạn, thường là với các Tiện ích mở rộng động khác

extension=zmq

  • xác minh bằng cách xem thông tin php
$ php -i | grep zmq  
zmq  
libzmq version => 4.1.3
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.