背景如下:
项目需要做一个订阅/发布的功能,然后一大堆讨论不做说明,确认使用rabbitMQ来做;
okay,既然 要这个来做,我们下载这个东西吧!在官网上下载就okay了,不做说明,下载安装的时候会提示你下载erlang语言,下就是了,不管;
要知道rabbitMQ是服务器,所以就想进入页面了,相信英文不好的同学,就回去百度啊,谷歌啊,然后有了在浏览器中输入localhost:15672,然后发现根本打不开,然后又继续百度,各种坑,
然后推荐方法:在安装的rabbitmq的sbin目录下去,在终端输入进入sbin目录
输入:rabbitmqctl start_app
rabbitmq-plugins enable rabbitmq_management
然后重启一下rabbitmq服务器就okay;
好了rabbitmq弄好了,现在要使用他了
开发环境说明wamp集成的,使用yii开发
1,首先既然是yii,那就使用composer安装依赖包了,然后百度啊,得到这个
php composer.phar require php-amqplib/php-amqplib “2.6.*”
义试over,报错,坑死人啊对新手来说,好不容易写个博客然后被人骂死,说正事,去掉引号就可以了
php composer.phar require php-amqplib/php-amqplib 2.6.*
好了,然后看到可以了,就等啊等啊,然后等到一个报错,然后又试,然后又报错,无语了,就去百度啊谷歌啊,各种解决办法,各种行不通,各种坑,这里最后发现还是看到一个最初的中国镜像,好吧直接说吧
https://pkg.phpcomposer.com/ 贴上网站
其实就是在composer.json中添加这么一句话就okay了
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
具体可以参考中国镜像。
然后发现还是用不了,需要安装扩展,什么dll文件什么的,在网上百度说什么下载这个那个,比如说给你一个什么文件你下载了,然后在php.ini文件里面配置了,然后echo phpinfo(); 就是看不到他们截图给你的amqp,好烦哦;
然后发现原来是Apache也要个dll,然后又配置啊 ,发现启动的时候就报错,然后还是没有预期的amqp,一大堆坑货写的博客,真的是照搬,坑货啊
好了发了这么多牢骚,其实就这样配置,
首先一定要确认你的php版本,一定要确认,扩展不是随便下个最新的就好了,我的版本是5.5.12的,所以认准5.5开头的,
输入,http://pecl.php.net/package/amqp
根据需求下载,我下载了1.4.0的,然后往下拉,在对应的PHP版本下看到有ts和nts的,这个怎么选,一个一个试吧,也不是不可以,反正你闲的,其实可以在你安装的php中看到你那里有个php5ts.dll,那就下ts的,反之下nts的
下好了你会看到一个包,里面有php_amqp.dll和rabbitmq.1.dll
首先把php_amqp.dll放到php中的ext文件夹中,然后在php.ini文件中加入这个扩展,extension=php_amqp.dll配置就好了,
然后rabbitmq.1.dll放到php文件夹中,就是php.exe同一个目录下,然后在Apache中的配置文件httpd.conf中添加一段代码LoadFile "D:/wamp/bin/php/php5.5.12/rabbitmq.1.dll" 就是LoadFile "rabbitmq.1.dll的路径"
记得斜杠要换一下,放在哪个位置 你搜索<IfModule unixd_module>这个 放到他前面,okay了
全部好了 重启一下wamp,然后输出phpinfo(),就有了你要看到的amqp
搞定收工,吃饭去了!!!!!