Встановлення zeromq на WAMP-сервері Windows 7


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 для проблем zeromq dll з PHP на Windows, я додаю до нього два центи.

Правильні кроки з налаштування zeroMQ за допомогою PHP:

1) Завантажте правильний пакет DLL для PHP

Сторінку завантаження DLL для PHP ZeroMQ тепер можна знайти на веб-сайті http://pecl.php.net/package/zmq ( http://snapshot.zeromq.com мертвий) Поруч із кожним доступним випуском буде присутнє крихітне посилання "DLL" '. Це ваше посилання. Клацніть на ньому та виберіть dll на основі вашої версії PHP та того, чи це безпечна нитка (TS) чи безпечна для потоків (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 (дуже важливо) та перезавантажте машину

Після перезапуску запустіть апарат і моліться богам PHP.

FAQ для поширених помилок:

1) У мене з’являється спливаюче вікно, яке говорить: "libzmq.dll відсутній у мого комп'ютера" під час запуску apache.

Ну, чорт, переконайтеся, що ви дотримувались кроку 5 до листа та переконайтеся, що шлях до каталогу є правильним та dll присутній у цьому каталозі.

2) Ще одне спливаюче вікно, яке говорить "'php5.dll' відсутнє у мого комп'ютера" під час запуску апачі.

Схоже, у вас неправильний dll для вашої PHP-версії. Завантажте правильний з кроку 1.

3) З'явилося випадкове спливаюче вікно, яке говорить, що "phpzmq.dll" не є дійсною програмою win 32. "

Ця DLL все ще не правильна. Переконайтеся, що ви отримали потрібний (x86 або x64) і що він є безпечним для потоку або без потоку. Як би ти знав? Час грати в DLL-рулетку.

Сподіваючись, що ця публікація насправді допомагає користувачам, які прибувають тут :)


Чудова відповідь, дякую. Я шукав посилання на правильний DLL протягом століть.
ibanore

3

@ Відповідь Містеріоса досить інформативна, але неточна. У кроці 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)
Додайте до PHP.ini декларацію phpzmq.dll

Важливо зауважити, що в каталозі серверів WAMP є мало php.ini.
Правильний php знаходиться в C: \ wamp \ bin \ apache \ apache2.4.9 \ php.ini
Додайте наступне оголошення до згаданого вище php.ini.

[ZMQ]
extension=php_zmq.dll

1
Ага! Приємне копіювання улову libzmq.dllта libsodium.dllphp root dir
manix

"Скопіюйте libzmq.dll в кореневу директорію php bin". Зробив цю справу.
Сід,

2

У мене була така ж проблема. Використання dll з php-zmq_zeromq-{version}-ztsпапки вирішило проблему для мене.


звідки ми можемо отримати цей dll, чи можете ви мені поділитися?
Thirumalai murugan

0

Я дотримувався вказівок @Mysteryos і @Zcythe, але мені все одно надходила помилка модуля не вдається завантажити модуль, тому після перегляду форумів WAMP французькою мовою я працював після наступних змін після кроку 4:

Відредагуйте файл config.inc.php, розташований у C: \ wamp \ script

Шукати:

$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 Thread Safe (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
витяг і скопіюйте DLL

скопіювати 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
Екстракт x Thread Safe (TS) x64 та скопіюйте символи

скопіювати 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.