<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[[实践Ok]linux rabbitMQ 安装 CentOS rabbitMQ 安装 rabbitMQ+php  ]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Tue, 06 Nov 2012 02:40:22 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	有个哥们写了一篇文章：<br/>http://blog.163.com/a12333a_li/blog/static/8759428520127305372366/<br/><br/>于是否按这位兄弟说的做了下测试，如下：<br/>rabbitMQAddQueTest.php<br/><textarea name="code" class="php" rows="15" cols="100">
&lt;?php
/**
 * producer demo
 * 
 * @author wei 
 * @version $Id$
 */
$params = array(&#039;host&#039; =&gt; &#039;localhost&#039;,
&nbsp;&nbsp;&#039;port&#039; =&gt; 5672,
&nbsp;&nbsp;&#039;login&#039; =&gt; &#039;guest&#039;,
&nbsp;&nbsp;&#039;password&#039; =&gt; &#039;guest&#039;,
&nbsp;&nbsp;&#039;vhost&#039; =&gt; &#039;/&#039;);
$cnn = new AMQPConnect($params);
// declare Exchange
$exchange = new AMQPExchange($cnn);
$exchange -&gt; declare(&#039;ex1&#039;, &#039;topic&#039;, AMQP_DURABLE); 
// declare Queue
$queue = new AMQPQueue($cnn);
$queue -&gt; declare(&#039;queue1&#039;, AMQP_DURABLE); 
// bind Queue
$queue -&gt; bind(&#039;ex1&#039;, &#039;wei.#&#039;); 
// publishing
$msg = &quot;msg&quot;;

for ($i = 0; $i &lt; 20; $i++) &#123;
&nbsp;&nbsp;$res = $exchange -&gt; publish($i . &#039;msg&#039;, &#039;wei.&#039; . $i);
&nbsp;&nbsp;if ($res) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;echo $i . &#039;msg&#039; . &quot; Yes&#92;n&quot;;
&nbsp;&nbsp;&#125; else &#123;
&nbsp;&nbsp;&nbsp;&nbsp;echo $i . &#039;msg&#039; . &quot; No&#92;n&quot;;
&nbsp;&nbsp;&#125; 
&#125; 

?&gt;

</textarea><br/><br/>rabbitMQGetTest.php<br/><textarea name="code" class="php" rows="15" cols="100">
&lt;?php
Error_reporting(E_ALL);
$params = array(&#039;host&#039; =&gt; &#039;localhost&#039;, &#039;port&#039; =&gt; 5672, &#039;login&#039; =&gt; &#039;guest&#039;, &#039;password&#039; =&gt; &#039;guest&#039;, &#039;vhost&#039; =&gt; &#039;/&#039;);
$cnn = new AMQPConnect($params); // create the Queue
$queue = new AMQPQueue($cnn, &#039;queue1&#039;);
$queueMessages = $queue -&gt; consume(20);
foreach($queueMessages as $i=&gt; $item) &#123;
&nbsp;&nbsp;echo&quot;$i.$item&#92;n&quot;;
&#125;

?&gt;
</textarea><br/><br/><br/>测试程序及扩展：<br/>先执行接受程序，让其等待：php rabbitMQGetTest.php （其实先入队，后去取也没有问题的，只是为了方便看一入队就出队了：-））<br/><br/>后执行入队程序：<br/>root@192.168.98.128:/data0/htdocs/tmp# php rabbitMQAddQueTest.php<br/>0msg Yes<br/>1msg Yes<br/>2msg Yes<br/>3msg Yes<br/>4msg Yes<br/>5msg Yes<br/>6msg Yes<br/>7msg Yes<br/>8msg Yes<br/>9msg Yes<br/>10msg Yes<br/>11msg Yes<br/>12msg Yes<br/>13msg Yes<br/>14msg Yes<br/>15msg Yes<br/>16msg Yes<br/>17msg Yes<br/>18msg Yes<br/>19msg Yes<br/><br/>查看取的程序，如下：<br/> php rabbitMQGetTest.php&nbsp;&nbsp; <br/>0.0msg<br/>1.1msg<br/>2.2msg<br/>3.3msg<br/>4.4msg<br/>5.5msg<br/>6.6msg<br/>7.7msg<br/>8.8msg<br/>9.9msg<br/>10.10msg<br/>11.11msg<br/>12.12msg<br/>13.13msg<br/>14.14msg<br/>15.15msg<br/>16.16msg<br/>17.17msg<br/>18.18msg<br/>19.19msg<br/><br/><br/>rabbitMQ 是一个在AMQP基础上完整的，可复用的企业消息系统。主要应用在将一些无需即时返回且耗时的操作提取出来，进行了异步处理，而这种异步处理的方式大大的节省了服务器的请求响应时间，从而提高了系统的吞吐量。<br/><br/>环境：<br/>CentOS5.7 x64<br/>需要的软件：<br/>otp_src_R15B01.tar.gz<br/>rabbitmq-server-2.8.5.tar.gz<br/>simplejson-2.6.1.tar.gz<br/>jdk-6u34-linux-i586.rpm<br/><br/>软件包下载：<br/>wget http://www.erlang.org/download/otp_src_R15B01.tar.gz<br/>wget http://www.rabbitmq.com/releases/rabbitmq-server/v2.8.5/rabbitmq-server-2.8.5.tar.gz<br/>wget http://pypi.python.org/packages/source/s/simplejson/simplejson-2.6.1.tar.gz<br/>JDK到 http://www.oracle.com/technetwork/java/javase/downloads/jdk6-downloads-1637591.html&nbsp;&nbsp;&nbsp;&nbsp;//选择自己对应的版本<br/><br/>1.&nbsp;&nbsp;基础环境安装：<br/>1.1 JDK安装<br/>&nbsp;&nbsp;&nbsp;&nbsp;rpm -ivh jdk-6u34-linux-i586.rpm<br/>&nbsp;&nbsp;&nbsp;&nbsp;然后<br/>&nbsp;&nbsp;&nbsp;&nbsp;vi /etc/profile<br/>&nbsp;&nbsp;&nbsp;&nbsp;在最后面添加：<br/>&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;JAVA_HOME=/usr/java/jdk1.6.0_34<br/>&nbsp;&nbsp;&nbsp;&nbsp;JRE_HOME=/usr/java/jdk1.6.0_34/jre<br/>&nbsp;&nbsp;&nbsp;&nbsp;JAVA_BIN=/usr/java/jdk1.6.0_34/bin<br/>&nbsp;&nbsp;&nbsp;&nbsp;PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH<br/>&nbsp;&nbsp;&nbsp;&nbsp;CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar<br/>&nbsp;&nbsp; <br/>1.2 解决依赖<br/>&nbsp;&nbsp;&nbsp;&nbsp;yum install -y docbook-style-xsl xmlto git wxGTK wxGTK-devel expat expat-devel librabbitmq make gcc44 gcc44-c++ libstdc++44-devel hg libtool openssl openssl-devel unixODBC unixODBC-devel unixODBC-libs ncurses ncurses-devel tk python26<br/>&nbsp;&nbsp;&nbsp;&nbsp;然后<br/>&nbsp;&nbsp;&nbsp;&nbsp;vi /etc/profile<br/>&nbsp;&nbsp;&nbsp;&nbsp;在最后面添加：<br/>&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;CC=/usr/bin/gcc44<br/>&nbsp;&nbsp;&nbsp;&nbsp;CXX=/usr/bin/g++44<br/>&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;保存后执行以下语句立即生效<br/>&nbsp;&nbsp;&nbsp;&nbsp;source /etc/profile<br/>&nbsp;&nbsp; <br/>1.3 解决python的升级问题<br/>&nbsp;&nbsp;&nbsp;&nbsp;mv&nbsp;&nbsp;/usr/bin/python /usr/bin/python.bak.2.4<br/>&nbsp;&nbsp;&nbsp;&nbsp;ln -s&nbsp;&nbsp;/usr/bin/python2.6 /usr/bin/python<br/><br/>1.4 验证编辑环境是否正确<br/>&nbsp;&nbsp;&nbsp;&nbsp;确认java版本是不是 1.6.0_34（根据自己安装的版本）<br/>&nbsp;&nbsp;&nbsp;&nbsp;java -version<br/>&nbsp;&nbsp;&nbsp;&nbsp;java version &quot;1.6.0_34&quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;确认python版本是不是 2.6.*<br/>&nbsp;&nbsp;&nbsp;&nbsp;python -V<br/>&nbsp;&nbsp;&nbsp;&nbsp;Python 2.6.8<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;如果环境不对，请检测。<br/>&nbsp;&nbsp;&nbsp;&nbsp;关于python升级后不能yum的解决方法看另一篇<br/>&nbsp;&nbsp;&nbsp;&nbsp;http://blog.163.com/a12333a_li/blog/static/87594285201272421852435/<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>2.&nbsp;&nbsp;软件安装：<br/>2.1 Rabbitmq 是用 erlang 语言编写的，所以先安装 Erlang.<br/>&nbsp;&nbsp;&nbsp;&nbsp;安装Erlang<br/>&nbsp;&nbsp;&nbsp;&nbsp;tar zxf otp_src_R15B01.tar.gz <br/>&nbsp;&nbsp;&nbsp;&nbsp;cd&nbsp;&nbsp;otp_src_R15B01<br/>&nbsp;&nbsp;&nbsp;&nbsp;./configure<br/>&nbsp;&nbsp;&nbsp;&nbsp;这里编译最后可能出现 fop is missing.的提示，不用管它。<br/>&nbsp;&nbsp;&nbsp;&nbsp;make<br/>&nbsp;&nbsp;&nbsp;&nbsp;make install<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>2.2 安装simplejson<br/>&nbsp;&nbsp;&nbsp;&nbsp;tar zxf simplejson-2.6.1.tar.gz <br/>&nbsp;&nbsp;&nbsp;&nbsp;cd simplejson-2.6.1<br/>&nbsp;&nbsp;&nbsp;&nbsp;python setup.py build<br/>&nbsp;&nbsp;&nbsp;&nbsp;python setup.py install<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>2.3 安装RabbitMQ<br/>&nbsp;&nbsp;&nbsp;&nbsp;tar zxf rabbitmq-server-2.8.5.tar.gz <br/>&nbsp;&nbsp;&nbsp;&nbsp;cd rabbitmq-server-2.8.5<br/>&nbsp;&nbsp;&nbsp;&nbsp;make<br/>&nbsp;&nbsp;&nbsp;&nbsp;make install TARGET_DIR=/usr/local SBIN_DIR=/usr/local/sbin MAN_DIR=/usr/local/man<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>2.4 验证安装：<br/>&nbsp;&nbsp;&nbsp;&nbsp;ls /usr/local/sbin/rabbitmq*<br/>&nbsp;&nbsp;&nbsp;&nbsp;看看是否有以下文件<br/>&nbsp;&nbsp;&nbsp;&nbsp;/usr/local/sbin/rabbitmqctl<br/>&nbsp;&nbsp;&nbsp;&nbsp;/usr/local/sbin/rabbitmq-defaults<br/>&nbsp;&nbsp;&nbsp;&nbsp;/usr/local/sbin/rabbitmq-env<br/>&nbsp;&nbsp;&nbsp;&nbsp;/usr/local/sbin/rabbitmq-plugins<br/>&nbsp;&nbsp;&nbsp;&nbsp;/usr/local/sbin/rabbitmq-server<br/><br/>3.&nbsp;&nbsp;启动：<br/>&nbsp;&nbsp;&nbsp;&nbsp;/usr/local/sbin/rabbitmq-server start &amp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;默认监听端口5672<br/>&nbsp;&nbsp;&nbsp;&nbsp;如果提示：<br/>&nbsp;&nbsp;&nbsp;&nbsp;ERROR: epmd error for host &quot;$hostname&quot;: address (unable to establish tcp connection)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;我的hostname叫dataserver1，一开始我看错了，以为是database1 我就奇怪这东西还有连接数据库，浪费了20分钟百度。<br/>&nbsp;&nbsp;&nbsp;&nbsp;把hostname名称添加到 /etc/hosts的127.0.0.1 那行的最后面<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>4. 安装插件管理界面&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;mkdir -m 777&nbsp;&nbsp; /etc/rabbitmq/ <br/>&nbsp;&nbsp;&nbsp;&nbsp;rabbitmq-plugins enable rabbitmq_management<br/>&nbsp;&nbsp;&nbsp;&nbsp;重启rabbitmq-server<br/>&nbsp;&nbsp;&nbsp;&nbsp;rabbitmqctl stop<br/>&nbsp;&nbsp;&nbsp;&nbsp;rabbitmq-server start &amp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;查看管理端口有没有启动：<br/>&nbsp;&nbsp;&nbsp;&nbsp;netstat&nbsp;&nbsp;-tnlp&#124;grep 55672<br/>&nbsp;&nbsp;&nbsp;&nbsp;浏览器打开http://IP:55672/mgmt/&nbsp;&nbsp;账号密码都是guest<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/> <br/><br/>5.&nbsp;&nbsp;安装php插件<br/>&nbsp;&nbsp;&nbsp;&nbsp;RabbitMQ 官方提供了三种 PHP 可用的扩展，分别是：<br/>&nbsp;&nbsp;&nbsp;&nbsp;php-amqp<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://code.google.com/p/php-amqp/<br/>&nbsp;&nbsp;&nbsp;&nbsp;php-rabbit<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://code.google.com/p/php-rabbit/<br/>&nbsp;&nbsp;&nbsp;&nbsp;php-amqplib<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://code.google.com/p/php-amqplib/<br/>&nbsp;&nbsp;&nbsp;&nbsp;这里只测试amqp和rabbit插件的安装<br/><br/>5.1 php-amqp插件：<br/>&nbsp;&nbsp;&nbsp;&nbsp;//安装simplejson<br/>&nbsp;&nbsp;&nbsp;&nbsp;wget http://pypi.python.org/packages/source/s/simplejson/simplejson-2.6.1.tar.gz<br/>&nbsp;&nbsp;&nbsp;&nbsp;tar zxvf&nbsp;&nbsp; simplejson-2.6.1.tar.gz<br/>&nbsp;&nbsp;&nbsp;&nbsp;cd simplejson-2.6.1&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;python setup.py build<br/>&nbsp;&nbsp;&nbsp;&nbsp;python setup.py install<br/>&nbsp;&nbsp;&nbsp;&nbsp;cd ..<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//安装rabbitmq<br/>&nbsp;&nbsp;&nbsp;&nbsp;wget http://hg.rabbitmq.com/rabbitmq-c/archive/ce1eaceaee94.tar.gz -O rabbitmq-c.tar.gz<br/>&nbsp;&nbsp;&nbsp;&nbsp;wget http://hg.rabbitmq.com/rabbitmq-codegen/archive/c7c5876a05bb.tar.gz -O rabbitmq-codegen.tar.gz<br/>&nbsp;&nbsp;&nbsp;&nbsp;tar zxvf&nbsp;&nbsp; rabbitmq-c.tar.gz<br/>&nbsp;&nbsp;&nbsp;&nbsp;tar zxvf&nbsp;&nbsp; rabbitmq-codegen.tar.gz<br/>&nbsp;&nbsp;&nbsp;&nbsp;cp -a rabbitmq-codegen-c7c5876a05bb rabbitmq-c-ce1eaceaee94/codegen <br/>&nbsp;&nbsp;&nbsp;&nbsp;cp -a rabbitmq-codegen-c7c5876a05bb /codegen&nbsp;&nbsp; //复制到根目录，不然编译会出错<br/>&nbsp;&nbsp;&nbsp;&nbsp;cd&nbsp;&nbsp;rabbitmq-c-ce1eaceaee94<br/>&nbsp;&nbsp;&nbsp;&nbsp;autoreconf -i<br/>&nbsp;&nbsp;&nbsp;&nbsp;./configure &amp;&amp; make &amp;&amp; make install<br/>&nbsp;&nbsp;&nbsp;&nbsp;cd ..<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//下载php-amqp<br/>&nbsp;&nbsp;&nbsp;&nbsp;wget ‘http://php-amqp.googlecode.com/files/amqp-0.0.7.tgz’<br/>&nbsp;&nbsp;&nbsp;&nbsp;wget ‘http://php-amqp.googlecode.com/issues/attachment?aid=-1144008813478455001&amp;name=issue2.patch2&amp;token=MIAWwjCHrtsxZfuFTs_-JORHod4%3A1346297990942’&nbsp;&nbsp;&nbsp;&nbsp;//path补丁，不然编译不过去<br/>&nbsp;&nbsp;&nbsp;&nbsp;tar zxvf&nbsp;&nbsp;&nbsp;&nbsp;amqp-0.0.7.tgz<br/>&nbsp;&nbsp;&nbsp;&nbsp;patch -d amqp-0.0.7 &lt; issue2.patch2<br/>&nbsp;&nbsp;&nbsp;&nbsp;cd amqp-0.0.7<br/>&nbsp;&nbsp;&nbsp;&nbsp;./configure --with-php-config=/usr/local/php/bin/php-config --with-amqp<br/>&nbsp;&nbsp;&nbsp;&nbsp;make <br/>&nbsp;&nbsp;&nbsp;&nbsp;make install<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;vi /usr/local/php/etc/php.ini <br/>&nbsp;&nbsp;&nbsp;&nbsp;添加<br/>&nbsp;&nbsp;&nbsp;&nbsp;extension = amqp.so<br/>&nbsp;&nbsp;&nbsp;&nbsp;验证：<br/>&nbsp;&nbsp;&nbsp;&nbsp;/usr/local/php/bin/php -m &#124; grep amqp<br/>&nbsp;&nbsp;&nbsp;&nbsp; 重启php或者apache&nbsp;&nbsp;&nbsp;&nbsp;<br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>5.2 php-rabbit插件：<br/>&nbsp;&nbsp;&nbsp;&nbsp;//安装simplejson<br/>&nbsp;&nbsp;&nbsp;&nbsp;wget http://pypi.python.org/packages/source/s/simplejson/simplejson-2.6.1.tar.gz<br/>&nbsp;&nbsp;&nbsp;&nbsp;tar zxvf&nbsp;&nbsp; simplejson-2.6.1.tar.gz<br/>&nbsp;&nbsp;&nbsp;&nbsp;cd simplejson-2.6.1&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;python setup.py build<br/>&nbsp;&nbsp;&nbsp;&nbsp;python setup.py install<br/>&nbsp;&nbsp;&nbsp;&nbsp;cd ..<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//安装rabbitmq<br/>&nbsp;&nbsp;&nbsp;&nbsp;wget http://hg.rabbitmq.com/rabbitmq-c/archive/ce1eaceaee94.tar.gz -O rabbitmq-c.tar.gz<br/>&nbsp;&nbsp;&nbsp;&nbsp;wget http://hg.rabbitmq.com/rabbitmq-codegen/archive/c7c5876a05bb.tar.gz -O rabbitmq-codegen.tar.gz<br/>&nbsp;&nbsp;&nbsp;&nbsp;tar zxvf&nbsp;&nbsp; rabbitmq-c.tar.gz<br/>&nbsp;&nbsp;&nbsp;&nbsp;tar zxvf&nbsp;&nbsp; rabbitmq-codegen.tar.gz<br/>&nbsp;&nbsp;&nbsp;&nbsp;cp -a rabbitmq-codegen-c7c5876a05bb rabbitmq-c-ce1eaceaee94/codegen <br/>&nbsp;&nbsp;&nbsp;&nbsp;cp -a rabbitmq-codegen-c7c5876a05bb /codegen&nbsp;&nbsp; //复制到根目录，不然编译会出错<br/>&nbsp;&nbsp;&nbsp;&nbsp;cd&nbsp;&nbsp;rabbitmq-c-ce1eaceaee94<br/>&nbsp;&nbsp;&nbsp;&nbsp;autoreconf -i<br/>&nbsp;&nbsp;&nbsp;&nbsp;./configure &amp;&amp; make &amp;&amp; make install<br/>&nbsp;&nbsp;&nbsp;&nbsp;cd ..<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//安装php-rabbit插件<br/>&nbsp;&nbsp;&nbsp;&nbsp;wget http://php-rabbit.googlecode.com/files/php-rabbit.r91.tar.gz<br/>&nbsp;&nbsp;&nbsp;&nbsp;tar zxvf&nbsp;&nbsp; php-rabbit.r91.tar.gz<br/>&nbsp;&nbsp;&nbsp;&nbsp;cd php-rabbit<br/>&nbsp;&nbsp;&nbsp;&nbsp;/usr/local/php/bin/phpize<br/>&nbsp;&nbsp;&nbsp;&nbsp;./configure --with-php-config=/usr/local/php/bin/php-config --with-rabbit<br/>&nbsp;&nbsp;&nbsp;&nbsp;make &amp;&amp; make install<br/>&nbsp;&nbsp;&nbsp;&nbsp;vi /usr/local/php/etc/php.ini<br/>&nbsp;&nbsp;&nbsp;&nbsp;添加<br/>&nbsp;&nbsp;&nbsp;&nbsp;extension = rabbit.so<br/>&nbsp;&nbsp;&nbsp;&nbsp;验证：<br/>&nbsp;&nbsp;&nbsp;&nbsp;/usr/local/php/bin/php -m &#124; grep&nbsp;&nbsp;rabbit<br/>&nbsp;&nbsp;&nbsp;&nbsp;重启php或者apache<br/><br/>6. 测试php连接rabbitMQ (使用 amqp 模式)<br/>&nbsp;&nbsp;&nbsp;&nbsp;测试代码：（马玉福提供）<br/>&nbsp;&nbsp;&nbsp;&nbsp;cat test.php<br/>&lt;?php<br/>/**<br/> * producer demo<br/> *<br/> * @author wei<br/> * @version $Id$<br/> **/<br/>$params = array(&#039;host&#039; =&gt;&#039;192.168.41.141&#039;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#039;port&#039; =&gt; 5672,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#039;login&#039; =&gt; &#039;guest&#039;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#039;password&#039; =&gt; &#039;guest&#039;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#039;vhost&#039; =&gt; &#039;/&#039;);<br/>$cnn = new AMQPConnect($params);<br/>// declare Exchange<br/>$exchange = new AMQPExchange($cnn);<br/>$exchange-&gt;declare(&#039;ex1&#039;, &#039;topic&#039;, AMQP_DURABLE );<br/> <br/>// declare Queue<br/>$queue = new AMQPQueue($cnn);&nbsp;&nbsp;<br/>$queue-&gt;declare(&#039;queue1&#039;, AMQP_DURABLE); <br/> <br/>// bind Queue<br/>$queue-&gt;bind(&#039;ex1&#039;,&#039;wei.#&#039;);<br/> <br/>// publishing<br/>$msg = &quot;msg&quot;;<br/> <br/>for ($i=0; $i &lt; 20; $i++) &#123; <br/>&nbsp;&nbsp;&nbsp;&nbsp;$res = $exchange-&gt;publish($i . &#039;msg&#039;, &#039;wei.&#039; . $i);<br/>&nbsp;&nbsp;&nbsp;&nbsp;if ($res) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo $i . &#039;msg&#039; . &quot; Yes&#92;n&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125; else &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo $i . &#039;msg&#039; . &quot; No&#92;n&quot;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&#125;<br/> <br/>?&gt;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; 执行&nbsp;&nbsp;/usr/local/php/bin/php test.php<br/>&nbsp;&nbsp;&nbsp;&nbsp; 如果返回：<br/>&nbsp;&nbsp;&nbsp;&nbsp; 
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践Ok]linux rabbitMQ 安装 CentOS rabbitMQ 安装 rabbitMQ+php  ]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>