Как установить zmq на windows

Обновлено: 02.07.2024

Отойдя немного от моей текущей серии статей о Gevent и Python, сегодня я хочу взглянуть на другую сетевую технологию, которая набирает обороты: ZeroMQ . Так что без дальнейших церемоний, давайте прыгнем прямо в …

Принципы дизайна ZeroMQ

ZeroMQ привязка / подключение по сравнению с «обычными» сокетами

Далее, имейте в виду, что ZeroMQ отделяет понятие клиентов и серверов от базового шаблона связи. Например, вы можете использовать для создания сокета для приема запросов с шаблоном, подобным следующему:

Следующий код, вероятно, будет обрабатываться в «рабочем» потоке или гринлете. Это включено здесь только в качестве примера.

Затем клиент подключится () к серверу и отправит запрос:

В ZeroMQ любой конец шаблона запроса / ответа может связываться, и любой конец может подключаться. Например, используя библиотеку pyzmq , вы можете подключить свой «сервер» (тот, кто обрабатывает запросы) к «клиенту» (тому, кто отправляет запросы). Код «сервера» тогда выглядит так:

Код «клиента» будет выглядеть так:

Несколько вещей заслуживают внимания здесь. Во-первых, как отмечено выше, «сервер» выполняет подключение, а «клиент» выполняет привязку. Еще одна вещь, которую нужно отметить, это используемый адрес. Вместо передачи имени хоста / порта мы передаем URI.

Виды транспорта ZeroMQ

ZeroMQ поддерживает несколько различных стилей URI для своего транспортного уровня, каждый из которых поддерживает полную гамму функциональных возможностей ZeroMQ:

  • tcp: // имя хоста: портовые сокеты позволяют нам делать «обычные» TCP-сети
  • inproc: // имя сокета позволяет нам выполнять внутрипроцессное сетевое взаимодействие (inter-thread / greenlet) с тем же кодом, который мы использовали бы для TCP-сети
  • ipc: /// сокеты tmp / filename используют сокеты домена UNIX для межпроцессного взаимодействия
  • pgm: // interface: address: port и epgm: // interface: address: port использует библиотеку OpenPGM для поддержки многоадресной передачи по IP (pgm) и по UDP (epgm). Из-за многоадресной передачи транспорты pgm и epgm могут использоваться только с типами сокетов PUB / SUB (подробнее об этом ниже).

ZeroMQ отключил операцию

Одна особенность, которая иногда ловит новичков в ZeroMQ, заключается в том, что она поддерживает отключенную работу. Например, в приведенном выше коде мы могли бы сначала запустить сервер, а затем клиента. С сокетами TCP это не будет работать, потому что сервер пытается соединиться () с клиентом. В ZeroMQ метод connect () будет проходить «оптимистично», предполагая, что кто-то будет связываться с этим портом позже.

Более того, вы можете запустить клиент, подключиться к порту 8080, выполнить транзакцию с сервером и затем завершить работу. Затем другой клиент может запустить, подключиться к порту 8080 и выполнить другую транзакцию. Сервер просто продолжает обрабатывать запросы, с радостью «подключенный» к тому, что происходит с портом 8080.

sock.send(part1, zmq.SNDMORE) sock.send(part2, zmq.SNDMORE) sock.send(part3, zmq.SNDMORE) sock.send(final)


Затем клиент может спросить, есть ли еще что получить:

Шаблоны связи ZeroMQ

Основной концепцией ZeroMQ, на которую я ссылался выше, но не сделал ее явной, являются шаблоны связи, поддерживаемые ZeroMQ. Из-за некоторых функций быстрого доступа, таких как асинхронная связь и отключенная работа, необходимо применять шаблоны более высокого уровня, чем просто пересылать байты из одной конечной точки в другую. ZeroMQ реализует это, заставляя указывать тип socket_type при вызове zmq.Context.socket (). Каждый тип сокета имеет набор «совместимых» типов сокетов, с которыми он может взаимодействовать, и ZeroMQ вызовет исключение, если вы попытаетесь установить связь между несовместимыми сокетами. Здесь я опишу некоторые из основных моделей:

Шаблон запроса / ответа ZeroMQ

This pattern is fairly classic; one end (with socket_type=zmq.REQ) sends a request and receives a response. The other end (with socket_type=zmq.REP) receives a request and sends a response. A simple echo server might use this pattern. The server would be the following:

Your client then looks like this:

Note that in this pattern the zmq.REQ socket must communicate with a series of send(), recv() pairs, and the zmq.REP socket must communicate with a series of recv(), send() pairs. If you try to send or recv two messages in a row, ZeroMQ will raise an exception. This can cause problems if you have a server that crashes, for instance, because you’d leave your client in a «dangling send» state. To recover, you need some other mechanism for timing out requests, closing the socket, and retrying with a new, fresh zmq.REQ socket.

ZeroMQ publish/subscribe pattern

In the publish/subscribe pattern, you have a single socket of type zmq.PUB and zero or more connected zmq.SUB sockets. The zmq.PUB socket broadcasts messages using send() that the zmq.SUB sockets recv(). Each subscriber must explicitly say what messages it’s interested in using the setsockopt method. A subscription is a string specifying a prefix of messages the subscriber is interested in. Thus to subscribe to all messages, the subscriber would use the call sub_sock.setsockopt(zmq.SUBSCRIBE, »). Subscribers can also explicitly unsubscribe from a topic using setsockopt(zmq.UNSUBSCRIBE, … as well.

Вы можете подключить клиент к нескольким серверам с помощью следующего кода:

Чтобы увидеть множественную подписку в действии, вы можете запустить эти программы следующим образом:

ZeroMQ двухтактный

Наш клиент также похож на код подписчика:

(Обратите внимание, что мы можем сделать тот же трюк с множественным соединением, что и с pub / sub.) Теперь, чтобы увидеть multi-push, multi-pull, мы можем запустить два «толкателя» и два «съемника»:

Вывод

ZeroMQ предоставляет удобную абстракцию для нескольких шаблонов сетевого взаимодействия, которые мы можем довольно легко использовать из Python. Если вы думаете о создании высокопроизводительной распределенной системы, безусловно, стоит рассмотреть ZeroMQ в качестве возможного транспортного уровня. Здесь я только немного рассказал о том, что возможно с ZeroMQ в Python. В будущих постах я пойду немного глубже, охватывая такие темы, как:

  • управление потоком с ZeroMQ
  • передовые шаблоны и устройства связи
  • используя ZeroMQ с Gevent

Мне бы хотелось услышать, как вы используете (или думаете об использовании) ZeroMQ для создания приложений на Python. В частности, есть ли у вас какие-либо вопросы о ZeroMQ, на которые я мог бы ответить в последующих постах? Вы уже используете ZeroMQ, и если так, столкнулись ли вы с какими-либо проблемами? Расскажите мне об этом в комментариях ниже!

Configuration Zeromq (экземпляр zeromq - связь между Windows и Linux с помощью zeromq)

Цитата Официальное утверждение, «ZMQ (ниже zeromq ZMQ) - это простой и простой в использовании транспортный слой, такой как каркас из библиотеки сокетов,

Однако это, несомненно, очень процветает. И это слой пакетов на «традиционной» розетке BSD на «традиционном» розетке BSD.

ZMQ очень прост и интересно писать высокопроизводительные веб-приложения. "

Он совершенно отличается от Rabbitmq, ActiveMQ и т. Д.

Ранее Socket API плюс слой упаковки легче в нашей работе. Ему нужно только ввести соответствующую банку при использовании.

Вот две конфигурации Linux и Windows

  • Шаг Linux выглядит следующим образом:

Примечание : При написании этой статьи версия ZMQ была обновлена ​​до 4.1.0, но не так много затронута.

2) Универсальный исходный файл

3.1 Введите каталог ZMQ и компилируйте и установите

3.2 Выполните файл конфигурации

3.4 Установите ZMQ.

4) Теперь используйте ZMQ для связи общения сети

4.1 Прием конечный код

5) Составить Centos, не забудьте добавить библиотеку ссылок ZMQ -LZMQ

6) Запустите программу RECV на машине 192.168.1.2, выполняя программу отправки на другой машине одной и той же локальной сети (та же машина также может), результатом следующим образом

6.2 Отправка конца

Вышеуказанное является наиболее базовым экземпляром сети сетевых коммуникаций ZMQ. На этой основе может быть сделана более сложная конструкция, а некоторое сетевое программное обеспечение, такое как сетевой чат, передача файлов и т. Д.

Используйте ZMQ в среде Windows

3.1) Установите библиотеку разработки ZMQ в среде Windows, вы можете скачать его на официальный веб-сайт ZMQ или загрузить в сетевой диск Baidu

Мой путь установки ZMQ: D: \ Program Files \ zeromq 4.0.4

3.2) Используйте библиотеку ссылок ZMQ

3.2.1) Я использую DEV-CPP, новый проект.


3.2.2) Установите проект командной строки:


3.2.3) Настройка проекта Компилировать Каталог файлов заголовка и каталог библиотеки ссылок


Каталог библиотеки ссылок в момент компиляции показано ниже:


Каталог файлов заголовка показан ниже:




Библиотека ссылок, которая должна использоваться, как показано ниже:


3.2.4) Эта статья требует двух процессов для сотрудничества, а приемный конец находится в среде Windows, отправитель находится в среде Linux. Код для приемного конца и передаваемым кодом находятся в предыдущей статье: " Zeromq экземпляр - используйте zmq (zeromq) для проведения сетевой связи локальной сети ". Скопируйте приемный код в статье на наш текущий файл проекта. Отправитель находится в другом каталоге Linux и изменяет IP-адрес сервера для подключения к коду для вашей текущей системы Windows System.

3.2.5) В текущей инженерии нажмите F9 для начала компиляции:


Компилировать успех. Далее нажмите F10, чтобы запустить. Попробуйте:


3.2.6) RUN FAILED, не смог найти библиотеку ссылки Runtime. Вам необходимо скопировать библиотеку ссылок Runtime в каталог, где находится программа:


После завершения копии следующим образом:


3.2.7) Нажмите F10, чтобы запустить приемный сервер под Windows; запустите программу отправителя на машине Linux, результат следующим образом:


Скриншот показывает мой Windows Program Run (слева), а также операция машины Linux, которую я удаленно подключаю (справа).

Но мне все еще не хватает зависимости zmq:

Мне это нужно, чтобы установить ihaskell. Помочь?

1 ответ

Когда я пытаюсь запустить файл, я получил эту ошибку? can't find package zmq while executing package require zmq Как я могу установить zmq в Ubuntu? Спасибо

Я сделал небольшое приложение GUI с gtk2hs, Glade и Haskell. Он отлично работает на Windows XP, но для его запуска пользователям необходимо установить GTK+, gtk2hs (он запрашивает libglade-2.0.0.dll) и GHC (поскольку это зависимость gtk2hs). Я сам Windows n00b, но как я могу упростить установку.

Похоже, мне удалось ее решить:

  1. скопировать <ZMQ>\lib\libzmq-v120-mt-4_0_4.lib в <ZMQ>\lib\zmq.lib
  2. скопировать <ZMQ>\bin\libzmq-v120-mt-4_0_4.dll в System32\zmq.dll
  3. бежать:

Похожие вопросы:

Есть XAMPP на Windows, php 5.5.19, PEAR 1.10.0dev2 Я попытался установить zmq , но не нашел пакета в pecl : pecl install zmq или pecl install zmq-beta : No releases available for package.

Я пытаюсь установить ZMQ на сервер XAMPP на базе Apache. (работает над windows 10) Ниже приведен список, который я уже сделал для того, чтобы установить ZMQ Скопировано libzmq.dell в xampp/php.

У меня есть программа python, которая использует ZMQ. Я хочу заморозить его, чтобы каждый мог использовать его как исполняемый файл. Это мой setup.py import sys from cx_Freeze import setup.

Когда я пытаюсь запустить файл, я получил эту ошибку? can't find package zmq while executing package require zmq Как я могу установить zmq в Ubuntu? Спасибо

Я сделал небольшое приложение GUI с gtk2hs, Glade и Haskell. Он отлично работает на Windows XP, но для его запуска пользователям необходимо установить GTK+, gtk2hs (он запрашивает.

Я делаю npm install zmq, но застрял в странной ошибке, пожалуйста, смотрите ниже C:\Users\Administrator>npm установить zmq MSBUILD: ошибка MSB4132: версия инструментов 2.0 не распознана. Доступны.

Я использую сервер Wamp на Windows и установил библиотеку zmq. Когда я пишу php --info на консоли, я вижу, что zmq отображается как intalled. zmq ZMQ расширение => включено ZMQ версия расширения.

Я пытаюсь скомпилировать исходный пакет Haskell как динамическую библиотеку для использования с кодом OCaml. Я попытался использовать опцию --enable-shared с cabal install в файле .cabal источника.

Я могу заставить абонента ZMQ работать в Haskell, но был бы признателен за руководство о том, как использовать эти данные с трубами. Моя попытка написать продюсера завершается неудачей в 'stack.

Этичный хакинг и тестирование на проникновение, информационная безопасность

Для тренировки своих хакерских навыков создано немало веб-приложений, которые специально содержат уязвимости.

Некоторые из них распространяются установленными и настроенными на специально для этого предназначенные дистрибутивы Linux, некоторые можно самому установить в любой дистрибутив Linux (в качестве примера смотрите статью «Установка OWASP Mutillidae II и Damn Vulnerable Web Application (DVWA) в Kali Linux».

В этой же статье я пока как установить и настроить уязвимые веб-приложения в Windows. Будут даны инструкции по установке:

Можете установить только одно из них или сразу все — они независимы друг от друга.

Эта инструкция будет полезной тем, кому привычнее работать в Windows. Также в некоторых уязвимостях есть своя специфика: например, внедрение команд уровня операционной на Linux и на Windows по (я надеюсь) очевидным причинам эксплуатируется по-разному.

Все эти уязвимые веб-приложения работают на веб-сервере (собственно, как и любые другие веб-приложения). Поэтому нам нужен веб-сервер. Вы можете установить его любым способом, у меня есть инструкция «Установка веб-сервера (Apache 2.4, MySQL 8.0, PHP 7, phpMyAdmin) на Windows 10» и мой веб-сервер установлен в соответствии с ней, поэтому и устанавливать приложения для тренировки пентестинга я буду в него. Если у вас веб-сервер установлен другим способом, то вам может понадобиться чуть подредактировать пути в файловой системе, но, в целом, принцип установки везде одинаковый.

После установки веб-сервера, также смотрите статью «Как защитить веб-сервер Apache от взлома в Windows» - иначе пока вы учитесь взламывать, вас самих взломают.

В папке c:\Server\data\htdocs\ создайте каталог pentest.

В папке c:\Server\data\htdocs\pentest\ создайте файл .htaccess, откройте его текстовым редактором, и скопируйте туда:

Эта настройка гарантирует, что никто из вне не сможет получить доступ к этим уязвимым средам. Поскольку в противном случае хакер может через эти уязвимые веб-приложения взломать весь компьютер — в Windows у веб-сервера есть права доступа ко всем папкам и файлам.

Если вам нужно, чтобы веб-сервер был доступен в локальной сети (например, вы будете атаковать веб-приложения с другого компьютера с Kali Linux), то вместо указанной выше строки впишите в файл .htaccess:

Эта настройка разрешает вход диапазонам 127.0.0.0/8 и 192.168.0.0/16, а также IPv6 адреса ::1/128 (0:0:0:0:0:0:0:1) (аналог localhost).

Более тонкую настройку под ваши нужды вы можете сделать с помощью статьи «Контроль доступа к сайту (блокировка по IP, User-Agent)».

В любом случае, доступ к уязвимым средам должен быть максимально ограничен для посторонних.

Как установить OWASP Mutillidae II в Windows

Переходим к установке и настройке OWASP Mutillidae II.

Распакуйте скаченный архив в папку c:\Server\data\htdocs\pentest\ и переименуйте из mutillidae-master в mutillidae.

Откройте файл c:\Server\data\htdocs\pentest\mutillidae\.htaccess, удалите из него строки:

и вместо них добавьте строки:

Сохраните и закройте файл.

Откройте файл c:\Server\data\htdocs\pentest\mutillidae\includes\database-config.inc и в строке

вместо mutillidae установите ваш пароль от MySQL (по умолчанию пустой).

Сохраните и закройте файл.


Всё готово — теперь можно начинать тренироваться взламывать веб-сайты.

Как установить Damn Vulnerable Web Application (DVWA) в Windows

Распакуйте скаченный архив в c:\Server\data\htdocs\pentest\ и переименуйте из DVWA-master в DVWA.

В папке c:\Server\data\htdocs\pentest\DVWA\config\ найдите файл config.inc.php.dist и скопируйте его в эту же папку, но с названием config.inc.php (или просто переименуйте).

Откройте файл c:\Server\data\htdocs\pentest\DVWA\config\config.inc.php и найдите там строку

и замените p@ssw0rd на ваш пароль. По умолчанию пароль является пустым.

Откройте файл c:\Server\bin\PHP\php.ini и найдите там строку:

замените эту строку на:

Чтобы изменения вступили в силу, перезапустите веб-сервер:



Кстати, имя пользователя: admin, пароль: password.


Как установить bWAPP в Windows

Наконец установим и настроем bWAPP в Windows

В папке c:\Server\data\htdocs\pentest\ создайте каталог bWAPP. Распакуйте содержимое архива bWAPP_latest.zip в директорию c:\Server\data\htdocs\pentest\bWAPP\.

Откройте файл c:\Server\data\htdocs\pentest\bWAPP\bWAPP\admin\settings.php и найдите в нём строку:

В этой строке поменяйте bug на пароль вашей MySQL (по умолчанию пустой). Сохраните и закройте этот файл.


Для входа Имя пользователя: bee, а пароль: bug

Примечание: к сожалению, из-за того, что bWAPP уже давно не обновлялась, некоторые из её страниц не совместимы с новыми версиями PHP. Например, страницы для отработки SQL-инъекции будут выдавать ошибку из-за использования функции mysql_connect(). В принципе, особых проблем в исправлении нет — достаточно просто перейти на mysqli_connect(). Для этого нужно отредактировать файл c:\Server\data\htdocs\pentest\bWAPP\bWAPP\connect.php (можно просто скопировать в него содержимое c:\Server\data\htdocs\pentest\bWAPP\bWAPP\connect_i.php, а также все файлы вида c:\Server\data\htdocs\pentest\bWAPP\bWAPP\sqli_*.php.

При желании, вы можете этим заняться самостоятельно — бонусное упражнение, так сказать. Либо просто используйте другие уязвимые среды, рассмотренные выше, для практики в эксплуатации SQL-инъекций.

Заключение

Если вы установили веб-сервер специально для тренировки в уязвимых веб-приложениях и вы опасаетесь, что сервер может ослабить безопасность вашего компьютера, то вы можете отключить веб-сервер после практики пентеста.

Чтобы отключить веб-сервер и убрать его службы из автозагрузки выполните:

При этом сервер будет полностью отключён, как будто его вообще нет на компьютере, но сайты и базы данных остануться.

В следующий раз, когда вы вновь заходите потренироваться и вам будет нужен веб-сервер, запустите все нужные вам службы:

После окончания работы вновь остановите службы веб-сервера, как это показано выше.

Решение проблем

Ошибка (Mutillidae):

Решение:

Эта ошибка может возникать даже если вы на самом деле открываете Mutillidae на локальном компьютере. Дело в том, что авторы забыли про IPv6, а в Windows при обращении к localhost используется локальный адрес IPv6, который в исходном .htaccess не предусмотрен. Поэтому для исправления ситуации без ослабления защиты откройте файл .htaccess, найдите там строки

и вместо них добавьте строки:

Ошибка (DVWA):

Решение:

Вам нужно скопировать или переименовать файл config/config.inc.php.dist в config/config.inc.php, а также ввести туда имя пользователя и пароль вашего MySQL сервера.

Ошибка (bWAPP)

Ошибку вызывает функция mysql_connect(), которая не определена (неизвестна).

Данное расширение — mysql_connect() — устарело, начиная с версии PHP 5.5.0, и в последних версиях PHP оно удалено. Используйте вместо него MySQLi или PDO_MySQL. Альтернативы для данной функции:

Установка zeromq на WAMP-сервер Windows 7

Я ищу установку zeromq на моем компьютере с Windows 7 для использования zeromq с PHP (я использую сервер WAMP (5.3.4), Apache Server 2.2.17).

Я следил за документацией на их сайте, но не знаю, что делать. Я установил zeromq со следующего сайта, затем я попытался скопировать dll с этого сайта, но он не работает.

Где взять DLL? Я хочу установить только установщик Windows по этой ссылке или мне нужно что-то еще?

Я использую версию PHP 5.3.4 x64 и Windows 7 x64. Я пробовал следующие шаги:

Я установил ZeroMQ-3.2.2rc2

скопировано libzmq.dll к c:\wamp\bin\php\php5.3.4

скопировано php-zmq\php53\php53-ts_zeromq-3.2.2 к c:\wamp\bin\php\php5.3.4\ext

позволил php_zmq расширение в php.ini

Я перезапустил WAMP. Это показывает

'c:/wamp/bin/php/php5.3.4/ext/php_zmq.dll' -% 1 не является допустимым приложением win32

В чем может быть проблема?

Я снова попробовал с версией Wamp x86 (php 5.4.3) и windows 7 x64

Я установил ZeroMQ-3.2.2rc2

скопировано libzmq.dll к c:\wamp\bin\php\php5.4.3

скопировано php-zmq\php54\php54-ts_zeromq-3.2.2 к c:\wamp\bin\php\php5.4.3\ext

позволил php_zmq расширение в php.ini

Я перезапустил WAMP. Это показывает

Учитывая, что это лучший результат поиска в Google по проблемам zeromq dll с PHP в Windows, я добавляю к нему свои два цента.

Правильные шаги по настройке zeroMQ с помощью PHP:

1) Загрузите правильный пакет DLL для PHP

Если вы переходите из пакета XAMPP, ваша DLL должна быть Версия TS и x86.

2) Убедитесь, что у вас установлен правильный распространяемый пакет Microsoft Visual C ++.

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.

FAQ по распространенным ошибкам:

Ну, черт возьми, убедитесь, что вы выполнили шаг 5 в точности и убедитесь, что путь к каталогу правильный и dll присутствует в этом каталоге.

Похоже, у вас неправильная dll для вашей версии php. Загрузите правильный с шага 1.

Эта DLL по-прежнему неверна. Убедитесь, что у вас есть правильный (x86 или x64), и что он либо потокобезопасный, либо небезопасный. Как бы вы узнали? Пора поиграть в рулетку DLL.

Надеюсь, этот пост действительно поможет пользователям, которые попадают сюда :)

  • Отличный ответ, спасибо. Я давно искал ссылку на правильную dll.

Ответ @Mysteryos довольно информативен, но неточен. Стоит упомянуть несколько ошибок в шагах 3 и 4.

Правильная процедура на сервере WAMP
Шаг 3)


Шаг 4)
Добавьте объявление phpzmq.dll в свой PHP.ini

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

  • 1 Ага! Хорошее копирование улова libzmq.dll и libsodium.dll в корневой каталог php
  • "Скопировать libzmq.dll в корневой каталог php bin" выполнило свою работу.

У меня такая же проблема. Использование dll из php-zmq_zeromq--zts папка решила проблему для меня.

  • откуда мы можем взять эту dll, вы можете мне поделиться?

Я выполнил инструкции @Mysteryos и @Zcythe, но я все еще получал ошибку Unable to load module, поэтому после просмотра форумов WAMP на французском языке я заставил его работать после следующих изменений после шага 4:

Отредактируйте файл config.inc.php, расположенный в C: \ wamp \ scripts

А затем добавьте 2 библиотеки ZeroMQ, чтобы он выглядел так:

Перезапустите WAMP, и он должен работать правильно.

Я тестировал это с помощью следующей библиотеки ZMQ:

Шаги по установке zeroMQ в PHP 5.3, PHP 7.1 и 7.2 в Windows

Скорее всего, вам нужна ваша версия PHP, x64 и Thread Safe
но у вас может быть x32 версия PHP

скачать 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,
обычно с другими динамическими расширениями

скачать 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, обычно с другими динамическими расширениями

скачать 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, обычно с другими динамическими расширениями

Я много раз проигрывал в решении этого . Я тестировал много версий zmq и множество конфигураций ..

Читайте также: