问题
I am having this error while installing pecl/amqp
when I type in the command line: pear install pecl/amqp
WARNING: php_bin C:\xampp\php.\php.exe appears to have a suffix .\php.exe,
but
config variable php_suffix does not match
ERROR: The DSP amqp.dsp does not exist.
I need to install this so that I can use amqp (RabbitMQ
) on php.
回答1:
@ AMQP installation php.net:
Note to Windows users: This extension does not currently support Windows since the librabbitmq library does not yet support Windows.
But here at RabbitMQ website is a windows installer...
Apparently the information on the php.net page is outdated
To install do like this:
- Download the correct package for your php from this official PECL amqp page
- unzip
- add
php_amqp.dll
to your phpext
folder and enable the extension inside your php.ini file:extension=php_amqp.dll
- add
rabbitmq.#.dll
to your windows system 32 folder (where # corresponds with the version number).
All this according to the post on the blog I found here.
UPDATE
I updated some of the information above. The blog post is from 2013, and only mentioning older versions, but it is anyway a nice guide to the steps you need to take. Since then newer versions are available so be aware there are some slight differences in the process (mainly version numbers) if you want to install a newer version.
回答2:
This works for me in PHP 7.1, and amqp 1.9.4 for Windows.
- Download the correct package in https://pecl.php.net/package/amqp based on your PHP version, architecture, thread safety, and compiler. You can check it in phpinfo
- Copy php_amqp.dll to your php ext folder
- Update your php.ini with: extension=php_amqp.dll
- Copy rabbitmq.4.dll to your windows system 32 folder if 32bit system. add it to SysWOW64 if using 64bit system.
- Restart apache.
回答3:
On Windows 10, build 19041 (2004 update), 64-bit.
Using Xampp with PHP 7.4.8.
- Go to here and download your relevant version: https://pecl.php.net/package/amqp (check which version you need in CLI using
php -v
) - From the
.zip
, copy therabbitmq.#.dll
toC:/Windows/System32
- From the
.zip
, copy thephp_amqp.dll
toC:/xampp/php/ext
(or simply yourphp/ext
folder if using something else than Xampp)
If you've got PHP running as a service with Apache, restart Apache. If you're using it via CLI (e.g. via Bash and/or Symfony CLI server) then you're already good to go.
Other posts mention the 64-bit variant to have the rabbitmq.#.dll
(where #
is the version) to go in C:/Windows/SysWOW64
. I tried that, didn't work for me, even though running 64-bit Windows and 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
回答4:
Although this will not answer how to install RabbitMQ with the pear install pecl/amqp, but have you ever tried to use rabbitmq with the pure php implementation php-amqplib?
来源:https://stackoverflow.com/questions/13817714/how-to-install-amqp-on-windows