Php 如何在windows上安装amqp

Php 如何在windows上安装amqp,php,rabbitmq,pear,amqp,pecl,Php,Rabbitmq,Pear,Amqp,Pecl,安装pecl/amqp 在命令行中键入时:pear install pecl/amqp 警告:php_bin C:\xampp\php。\php.exe似乎有后缀。\php.exe 但是 配置变量php_后缀不匹配 错误:DSP amqp.DSP不存在 我需要安装它,以便在php上使用amqp(RabbitMQ)。虽然这不会回答如何使用pear安装pecl/amqp安装RabbitMQ,但您是否尝试过在纯php实现中使用RabbitMQ?@: Windows用户注意:此扩展当前不支持Window

安装
pecl/amqp

在命令行中键入时:
pear install pecl/amqp

警告:php_bin C:\xampp\php。\php.exe似乎有后缀。\php.exe

但是

配置变量php_后缀不匹配
错误:DSP amqp.DSP不存在


我需要安装它,以便在php上使用amqp(
RabbitMQ
)。

虽然这不会回答如何使用pear安装pecl/amqp安装RabbitMQ,但您是否尝试过在纯php实现中使用RabbitMQ?

@:

Windows用户注意:此扩展当前不支持Windows,因为librabbitmq库尚不支持Windows

但是是windows安装程序

显然,php.net页面上的信息已经过时了


要安装,请执行以下操作:
  • 从下载适用于您的php的正确软件包
  • 解压
  • php_amqp.dll
    添加到php
    ext
    文件夹中,并在php.ini文件中启用扩展名:
    extension=php_amqp.dll
  • rabbitmq.#.dll
    添加到windows system 32文件夹中(其中#对应于版本号)
  • 所有这些都是我在博客上找到的


    更新
    我更新了上面的一些信息。这篇博文来自2013年,只提到了旧版本,但无论如何,它是一个很好的指南,指导你需要采取的步骤。因为有了新版本,所以如果您想安装新版本,请注意在过程中(主要是版本号)会有一些细微的差异。

    这在PHP 7.1和amqp 1.9.4 for Windows中都适用

    • 根据您的PHP版本、体系结构、线程安全性和编译器,在中下载正确的包。您可以在phpinfo中查看它
    • 将php_amqp.dll复制到php ext文件夹
    • 使用:extension=php\u amqp.dll更新php.ini
    • 如果是32位系统,请将rabbitmq.4.dll复制到windows system 32文件夹。如果使用64位系统,则将其添加到SysWOW64
    • 重新启动apache

    在Windows 10上,版本19041(2004年更新),64位

    在PHP7.4.8中使用Xampp

  • 转到此处并下载相关版本:(使用
    php-v
    检查CLI中需要的版本)
  • .zip
    ,将
    rabbitmq.#.dll
    复制到
    C:/Windows/System32
  • .zip
    ,将
    php_amqp.dll
    复制到
    C:/xampp/php/ext
    (如果使用的不是xampp,则只需将
    php/ext
    文件夹)
  • 如果您已经使用Apache将PHP作为服务运行,请重新启动Apache。如果您是通过CLI(例如,通过Bash和/或Symfony CLI服务器)使用它,那么您已经可以使用了


    其他帖子提到了64位的变体,它有
    rabbitmq.#.dll
    (其中
    #
    是版本)进入
    C:/Windows/SysWOW64
    。我试过了,虽然运行64位Windows和PHP,但对我来说不起作用

    $ php -v
    PHP 7.4.8 (cli) (built: Jul  9 2020 11:30:39) ( ZTS Visual C++ 2017 x64 )
    Copyright (c) The PHP Group
    Zend Engine v3.4.0, Copyright (c) Zend Technologies
    

    经过数小时的搜索:要将amqp安装到php7.4和Windows 10()

  • 选择好的文件(x86、x64、ts、nts)
    php-i或phpinfo()(体系结构=>x64)
    php-i | findstr“线程”(启用ts或nts)


  • rabbitmq.4.dll和rabbitmq.4.pdb文件复制到PHP根文件夹
    PHP_amqp.dll和PHP_amqp.pdb文件复制到PHP\ext文件夹

  • 将extension=amqp添加到php.ini文件

  • 如果显示amqp,请选中php-m(php-v显示错误)


  • 非常感谢Rezende()

    我如何知道它是否有效的可能重复
    phpinfo
    仍然没有显示它,只是一个小提示,php amqplib比pecl amqp库慢。其中一个原因是,amqp库本机是用C编写的。不幸的是,我没有基准测试结果,所以请显示差异:(但这很容易benchmark@AliAlwash没错,但这完全取决于您需要做什么。我们使用它来生成不经常调用的背景内容,因此性能不是这里的瓶颈。但在另一个项目中,我们使用java编写了一个消费者,因为基准要好得多。使用正确的工具完成正确的工作:)我完全同意你的看法。它更像是一个侧节点。而不是x,所以很好。即使是64位系统,你仍然需要将
    rabbitmq.4.dll
    复制到system32文件夹。