【问题标题】:Install AMQP in windows 10 & PHP 7.3在 Windows 10 和 PHP 7.3 中安装 AMQP
【发布时间】:2019-07-24 19:38:43
【问题描述】:

我想用 PHP 7.3 在 windows 10 中安装 AMQP,以便在 symfony 4 中使用。windows 不使用任何 apache/iis/nginx,而是由 symfony 直接运行。

一切正常! 直到,我决定在项目中使用rabbitmq并需要amqp。

所以, 1.下载AMQP 1.9.4(兼容php 7.3)
2. 将 php_amqp.dll 复制到 c:\php
3.将rabbitmq.4.dll(兼容AMQP 1.9.4)复制到c:\windows\system32
4. 添加扩展=php_amqp.dll > php.ini
5. php.ini extension_dir = "ext"

但我收到此错误:

PHP Warning:
PHP Startup: Unable to load dynamic library 'php_amqp.dll'
(tried: ext\php_amqp.dll (The specified module could not be found.),
ext\php_php_amqp.dll.dll (The specified module could not be found.)) in Unknown on line 0

我试试这些说明:
1. 将 php.ini extension_dir 改为 "C:\php\ext\"
2. 安装openssl 1.1
3.将libeay32.dll,ssleay32.dll复制到“c:\windows\system32”
4.重启,重启,重启,……

我该如何解决这个问题?

【问题讨论】:

    标签: php windows rabbitmq amqp


    【解决方案1】:

    试试:

    • 将 php_amqp.dll 和 php_amqp.pdb 复制到 \php\ext\
    • 将 rabbitmq.4.dll 和 rabbitmq.4.pdb 复制到 \php\

    它不适用于 PHP 7.2.13RC1,但它适用于 PHP 7.2.17

    我正在使用 Windows 10、x64、PHP 非线程安全

    【讨论】:

    • 这对我来说是缺少的部分:“将 rabbitmq.4.dll 和 rabbitmq.4.pdb 复制到 \php\”
    【解决方案2】:

    1) 生成phpinfo文件,检查 - 架构即:x86 - PHP 扩展构建 ie: API20170718,TS,VC15 - 线程安全即:启用

    2) 转到https://pecl.php.net/package/amqp 根据您的 PHP 版本查找库版本,以及线程安全或非线程安全

    喜欢这里:https://pecl.php.net/package/amqp/1.9.4/windows

    3) 解压/tar 包 将 php_amqp.dll 复制到 php 目录中的 ext 目录中(即:c:/xammp/php/ext)

    4) 编辑 php.ini 添加“extension=php_amqp.dll”

    将rabbitmq.4.dll和rabbitmq.4.pdb复制到ie:c:/xammp/php

    5) 安装 Win32OpenSSL(将 dll 保存在 windows/系统目录中)

    https://slproweb.com/products/Win32OpenSSL.html

    【讨论】:

    • 我在 Windows 10 上,我跳过了第 5 步,它工作正常!谢谢
    【解决方案3】:
    1. 请务必下载兼容版本 phpamqp 库(thread-save 或 no9t-thread-safe,x86 或 x64)。

    例如:

    所有 windows 版本的链接:

    AMQP https://pecl.php.net/package/amqp/1.9.4/windows

    PHPhttps://windows.php.net/download/

    1. 需要注册dllregsvr32 c:\windows\system32\rabbitmq.4.dll (或将rabbitmq.4.dll复制到c:\php\目录)

    并将 php_amqp.dll 移动到扩展目录move c:\php\php_amqp.dll c:\php\ext\

    【讨论】:

    • 运行后,regsvr32 c:\windows\system32\rabbitmq.4.dll 出现以下错误。我确保为我的 php 版本和线程安全使用正确的 dll。模块“c:\windows\system32\rabbitmq.4.dll”已加载,但未找到入口点 DllRegisterServer 确保“c:\windows\system32\rabbitmq.4.dll”是有效的 DLL 或 OCX 文件然后再试一次。
    【解决方案4】:

    我在使用 XAMPP 安装 amqp 时遇到了同样的问题(如果是这样的话) 确保您下载了 amqp 的线程安全版本 其余配置如上所示

    1. xampp/php/ext 中添加 php_amqp.dll
    2. 添加 rabbit.dll windows/system32
    3. 在 php.ini 添加 extension=php_amqp.dll

    就是这样。

    【讨论】:

      猜你喜欢
      • 2019-06-19
      • 2012-11-28
      • 1970-01-01
      • 2011-12-11
      • 2020-10-01
      • 2019-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多