이 기사에서는 Linux에서 PHP용 amqp 확장 프로그램을 설치하는 과정을 소개합니다.
librabbitmq-c 및 Rabbitmq-codegen 설치
# 下载0-9-1版的rabbitmq-c git clone git://github.com/alanxz/rabbitmq-c.git cd rabbitmq-c # Enable and update the codegen git submodule git submodule init git submodule update # Configure, compile and install autoreconf -i && ./configure && make && sudo make install
pecl 확장 설치
#下载最新的amqp扩展 wget http://pecl.php.net/get/amqp-1.0.9.tgz tar xvzf amqp-1.0.9.tgz cd amqp-1.0.9 && phpize ./configure --with-amqp && make && sudo make install
amqp 확장을 php.ini에 추가하는 것을 잊지 마세요:
extension=amqp.so
설치 과정에서 발생할 수 있는 문제
1. libtool 패키지 누락
configure.ac: installing ./install-sh configure.ac: installing ./missing configure.ac:34: installing ./config.guess configure.ac:34: installing ./config.sub Makefile.am:3: Libtool library used but LIBTOOL is undefined Makefile.am:3: Makefile.am:3: The usual way to define LIBTOOL is to add AC_PROG_LIBTOOL Makefile.am:3: to configure.ac and run aclocal and autoconf again. Makefile.am: C objects in subdir but AM_PROG_CC_C_O not in configure.ac Makefile.am: installing ./compile Makefile.am: installing ./depcomp autoreconf: automake failed with exit status: 1
해결책, libtool 설치, ubuntu:
sudo apt-get install libtool
기타 시스템 비슷해요
2. 그 외 궁금한 사항은 메시지 남겨주시면 추가하겠습니다
<?php //配置信息 $conn_args = array( 'host' => '127.0.0.1', 'port' => '5672', 'login' => 'guest', 'password' => 'guest', 'vhost'=>'/' ); //创建连接 $conn = new AMQPConnection($conn_args); if (!$conn->connect()) { die('Not connected <img src="http://www.codeceo.com/wp-content/themes/d-simple/img/smilies/icon_sad.gif" alt="linux 安装php,linux php,php,linux php环境搭建,linux php安装教程,linux安装php环境,linux 安装php7,php安装,centos php安"> ' . PHP_EOL); } // Open Channel $channel = new AMQPChannel($conn); // Declare exchange $exchange = new AMQPExchange($channel); $exchange->setName('extest'); $exchange->setType('fanout'); $exchange->declare(); // Create Queue $queue = new AMQPQueue($channel); $queue->setName('qutest'); $queue->declare(); // Bind it on the exchange to routing.key $exchange->bind('qutest', 'routing.key'); $data = array( 'Name' => 'foobar', 'Args' => array("0", "1", "2", "3"), ); //生产者,向RabbitMQ发送消息 $message = $exchange->publish(json_encode($data), 'key'); if (!$message) { echo 'Message not sent', PHP_EOL; } else { echo 'Message sent!', PHP_EOL; } //消费者 while ($envelope = $queue->get(AMQP_AUTOACK)) { echo ($envelope->isRedelivery()) ? 'Redelivery' : 'New Message'; echo PHP_EOL; echo $envelope->getBody(), PHP_EOL; } ?>
위 내용은 Linux 및 PHP 설치를 포함하여 Linux에서의 PHP용 amqp 확장 설치에 대해 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.