一、安裝php的stomp擴展
http://pecl.php.net/package/stomp
如:stomp-2.0.0.tgz
> tar xf stomp-1.0.9.tgz > cd stomp-1.0.9 > /data/php56/bin/phpize > ./configure --with-php-config=/data/php56/bin/php-config > make && make install
修改php.ini文件
> vi /data/php56/lib/php.ini
注意這里php環境的擴展路徑(請自行修改)
extension_dir = "/data/php56/lib/php/extensions/no-debug-zts-20131226/" extension=stomp.so
查看擴展是否安裝成功
> /data/php56/bin/php -m|grep Stomp
二、使用stomp擴展連接ActiveMQ
我們通過http://192.168.1.222:8161/admin/后台創建一個隊列test測試。
並在該test隊列中發送一條消息
然后我們通過php獲取該隊列中的消息,代碼如下:
<?php try { //61613默認的端口,在ActiveMQ目錄conf/activemq.xml文件可查看 $stomp = new Stomp('tcp://192.168.1.222:61613'); } catch (StompException $e) { die('error: ' . $e->getMessage()); } //訂閱一個消息隊列 $stomp->subscribe('/queue/test'); //讀取隊列 $frame = $stomp->readFrame(); //輸出消息體內容 echo $frame->body, PHP_EOL;
運行上面的代碼
> /data/php56/bin/php 1.php