一直以來對php的即時通訊都很好奇,其實是不知道應該怎么來實現,后來了解到了swoole和workerman這兩個神器,他們都可以實現即時通信的功能,其中swoole是C語言編寫的php擴展,其配置起來比較麻煩,但是性能還是很強悍的這些可以自己去官網上面搜,還有一個就是workerman框架啦!它確實是使用php寫出來的框架而且使用的就是php socket中的東西。如果是將項目項目布置到linux服務器的話我覺的兩者都可以,但是如果你是使用的windows服務器的話那就面臨着一個困難———swoole不支持windows環境,當然如果非要布置的話使用docker應該也可以,但是總覺的有些不倫不類的感覺(不是說docker不倫不類,docker確實強悍),那么我們怎么辦呢??這個時候就凸顯出workerman的優勢啦!它可以在windows系統運行下載這個聊天室項目
workerman聊天室 http://www.workerman.net/workerman-chat
點擊 start_for_win.bat 會出現一個黑窗口 在瀏覽器中瀏覽http://127.0.0.1:55151就可以看到聊天室頁面啦!但是當我們關閉黑窗口的時候會發現在瀏覽端口55151時什么都沒有啦!當項目真正部署是我想這樣是很不安全的,所以我們要找到一種方法來實現守護進程,將這個 bat文件當做windows服務來運行,下面我找到了nssm,用nssm來將bat轉化為服務
先下載 nssm軟件,這個在百度上直接搜索一個就可以啦!下載下來之后是一個壓縮包解壓找到對應你自己系統的32/64位nssm(在cmd窗口中找到該路徑下的nssm)執行 nssm install <服務名> 例如: nssm install workerman
然后回車出現nssm的配置界面 在界面中填寫你的 項目中的bat文件地址,例如
點擊 install service ,如圖
當顯示successfully的時候說明服務已經安裝成功啦!我們可以點擊我的電腦-》管理-》服務 查看一下是不是存在這個服務,如圖我的已經可以看到服務名為workerman的服務啦!
但是這個時候瀏覽 http://127.0.0.1:55151還是不能正常瀏覽,因為我們還沒有將服務打開,接下來點擊左上角的啟動按鈕,當服務啟動后在瀏覽http://127.0.0.1:55151就可以正常瀏覽啦!再也沒有煩人的黑窗口啦!!大功告成!!!!