在Windows 7 WAMP服务器上安装zeromq


9

我正在寻找在Windows 7机器上安装zeromq以便与PHP配合使用zeromq的功能(我正在使用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.dllc:\wamp\bin\php\php5.3.4
  3. 复制php-zmq\php53\php53-ts_zeromq-3.2.2c:\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.dllc:\wamp\bin\php\php5.4.3
  3. 复制php-zmq\php54\php54-ts_zeromq-3.2.2c:\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行的Unknown中

Answers:


9

鉴于这是Windows上PHP上的zeromq dll问题在Google上的最佳搜索结果,我在其中加了2美分。

使用PHP设置zeroMQ的正确步骤:

1)下载适用于PHP的正确DLL包

现在可以在http://pecl.php.net/package/zmq中找到PHP ZeroMQ的DLL下载页面(http://snapshot.zeromq.com已死)。每个“可用版本”旁边都会出现一个微小的“ DLL”链接。 '。那就是你的链接。单击它,然后根据您的PHP版本以及是线程安全(TS)还是非线程安全(NTS)选择您的dll。

如果您来自XAMPP软件包,则您的DLL应该是TS&x86版本

2)确保您安装了正确的Microsoft Visual C ++可再发行组件包。

撰写本文时,正确的版本是2012版本。链接下载软件包:http : //www.microsoft.com/zh-cn/download/details.aspx?id=30679

3)将phpzmq.dll和libzmq.dll(从步骤1中的dll包复制)复制到您的PHP \ Extensions目录(默认XAMPP php ext路径为:C:\ xampp \ php \ ext)

4)将phpzmq.dll添加到您的PHP.ini中

5)将PHP \ extensions目录添加到PATH系统环境变量(非常重要)并重新启动计算机

重新启动后,启动您的Apache并向PHP之神祈祷。

常见错误常见问题解答:

1)启动apache时,弹出窗口提示“我的计算机中缺少'libzmq.dll'”。

好吧,请确保您按照第5步操作,并确认目录路径正确并且该目录中存在dll。

2)启动apache时,另一个弹出窗口显示“我的计算机中缺少'php5.dll'”。

看起来您为您的php版本使用了错误的dll。从步骤1下载正确的一个。

3)出现一个随机弹出窗口,提示“'phpzmq.dll'不是有效的win 32应用程序”。

该DLL仍然不正确。确保您选择了正确的服务器(x86或x64),并且它是线程安全的或非线程安全的。你怎么知道的?是时候玩DLL轮盘了。

希望这篇文章实际上对登陆这里的用户有所帮助:)


很好的回答,谢谢。我一直在寻找到正确的dll的链接。
ibanore 2014年

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)匹配的版本,否则在启动apache时会收到“另一个弹出窗口,提示“我的计算机上缺少'php5.dll'”弹出窗口”错误


步骤4)
将phpzmq.dll声明添加到您的PHP.ini中

。请务必注意,WAMP服务器目录中几乎没有php.ini。
正确的php位于C:\ wamp \ bin \ apache \ apache2.4.9 \ php.ini
中将以下声明追加到上述php.ini中。

[ZMQ]
extension=php_zmq.dll

1
是的 好的捕获复制libzmq.dlllibsodium.dll到php root dir
manix

“将libzmq.dll复制到php bin根目录”完成了工作。.ty–
Sid

2

我有同样的问题。从php-zmq_zeromq-{version}-zts文件夹使用DLL 为我解决了这个问题。


从哪里可以得到那个dll,您可以分享我吗?
Thirumalai murugan 2013年

0

我按照@Mysteryos和@Zcythe的指示进行操作,但是仍然收到“无法加载模块”错误,因此在查看法语的WAMP论坛后,我可以按照步骤4进行的下一个更改使其工作:

编辑位于C:\ wamp \ scripts中的文件config.inc.php

寻找:

$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

在Windows上的PHP 5.3,PHP 7.1和7.2中安装zeroMQ的步骤

您最有可能想要PHP版本,x64和Thread Safe,
但您可能拥有x32版本的PHP

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

下载5.3线程安全(TS)x86
提取并复制dll

复制libzmq.dll
C:\ wamp \ bin \ php \ php5.3.4 ,PHP 5.3中
没有libsodium.dll

复制php_zmq.dll
C:\ wamp \ bin \ php \ php5.3.4 \ ext

将扩展名
通常与其他动态扩展 名一起添加到您的php.ini中

extension=php_zmq.dll

  • 对于PHP 7.1

下载7.1线程安全(TS)x64解
压缩并复制dll

复制libzmq.dll并复制libsodium.dll
C:\ laragon \ bin \ php \ php-7.1.20-Win32-VC14-x64中,
有一个libsodium.dll用于php 7.1 的额外dll

复制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线程安全(TS)x64解
压缩并复制dll

复制libzmq.dll
C:\ laragon \ BIN \ PHP \ PHP-7.2.11-Win32的VC15-64
没有libsodium.dllPHP 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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.