最近使用zmq的時(shí)候遇到了很多問(wèn)題,網(wǎng)上的文檔有很多錯(cuò)誤的,害我走了不少?gòu)澛罚€好最后解決了問(wèn)題,現(xiàn)將解決方法記錄在此,希望能夠幫助到大家。
安裝ZMQ
我是去官網(wǎng)下載了windows的安裝包,并沒(méi)有按照很多博客里說(shuō)的要編譯,畢竟不是誰(shuí)都是寫(xiě)c++的,上哪兒找編譯環(huán)境去,我這里把下載鏈接貼出來(lái),http://zeromq.org/distro:microsoft-windows
配置php_zmq
這一塊是網(wǎng)上騙人文章最多的地方,正確步驟應(yīng)該是這樣的
- 首先查看php的版本是64位的還是32位的,順便看看是線程安全的還是非線程安全的(一般windows下都是線程安全的),看的方法是在phpinfo查看(不知道怎么看phpinfo的需要百度一下基礎(chǔ)知識(shí)了),如下圖
phpinfo
紅框里標(biāo)注的就是了,比如我電腦上的php版本為32位的,是線程安全的
- 知道了版本以后就可以去網(wǎng)站上下載對(duì)應(yīng)的php_zmq了,官網(wǎng)給的下載地址是打不開(kāi)的,可以去這兒下載http://pecl.php.net/package/zmq,比如我的電腦就下載紅框里的版本就可以了
php_zmq - 下載好之后解壓,將libzmq.dll,libsodium.dll兩個(gè)文件拷到php的根目錄下(別的文章都說(shuō)只拷貝libzmq.dll)
image.png
然后將php_zmq.dll拷貝到剛才那個(gè)目錄嚇得ext文件夾,這是php默認(rèn)放擴(kuò)展的地方,如果你改變了就需要放到你改變后的地方
image.png
然后在php.ini中添加extension=php_zmq.dll
image.png
- 然后其實(shí)并不需要重啟電腦重啟apache之類(lèi)的,到這一步就可以用了
報(bào)錯(cuò)
php_zmq.dll不是有效的win32應(yīng)用程序
出現(xiàn)這個(gè)錯(cuò)誤是php是32位的,下載了64位的php_zmq.dll
Unable to load dynamic library 'D:\xampp\php\ext\php_zmq.dll' - 找不到指定的模塊。
沒(méi)有將libsodium.dll拷入,安裝前面說(shuō)的將文件拷入對(duì)應(yīng)的地方就可以了。
如果還有什么問(wèn)題可以留言給我一起探討。