使用 Swoole 擴充和PHP 開發的線上聊天室

來源:互聯網
上載者:User

標籤:php swoole

官網:http://www.swoole.com/  (安裝)

http://www.jianshu.com/p/fedbb9d2d999  (安裝) 

http://www.tuicool.com/articles/qERzyuI (聊天室)


先看效果:

作者的,http://chat.hellosee.cc

我安裝的, http://chat.yyii.info


方法:

1. 安裝swoole,


我的伺服器環境是oneinstack一鍵安裝的,

Swoole是作為PHP擴充來啟動並執行
http://www.swoole.com/
下載最新的,根據上面一篇簡書寫的:

安裝(root許可權):
cdswoole
phpize
./configure
make
sudo makeinstall
配置php.ini
extension=swoole.so

到,make,時就報錯。

swoole/swoole_serialize.c:19的檔案中:

/usr/lib/gcc/i686-redhat-linux/4.4.7/include/emmintrin.h:32:3:錯誤:#error "SSE2instruction set not enabled"

==

折騰很久。

後來,再看,

https://git.oschina.net/swoole/swoole/tree/v2.0.7

這裡是有安裝方法的。(所以安裝程式從什麼地方下載,就盡量看那裡寫的文檔,不要東拼西湊)

  • Install from source

sudo apt-get install php5-devgit clone https://github.com/swoole/swoole-src.gitcd swoole-srcphpize./configuremake && make install

一次成功!



2. 修改php.ini  ,

添加一句,extension=swoole.so

phpinfo()查看,有swoole了。


命令列輸入php –m ,也能看到,列表中有swoole


3. 布署到線上。

依據這一篇:

http://www.tuicool.com/articles/qERzyuI


chat.yyii.info  (這就是我安裝的聊天室)


注意:

下載來,共3個目錄,client,rooms,server,

然後就在本地修改好配置,再上傳吧

client下先建一個uploads目錄,(下載的檔案包裡沒有的話)


a.修改:client/static/js/init.js

var config = {   ‘domain‘ : "http://chat.yyii.info",   ‘wsserver‘ : "ws://106.14.209.3:9501",}

b.再修改:server/config.inc.php

// 如果寫網域名稱,要寫http://define("DOMAIN","http://chat.yyii.info");// define(‘ONLINE_DIR‘,‘/mnt/hgfs/swoole/chatroom/rooms/‘);define(‘ONLINE_DIR‘,‘/data/wwwroot/chat.yyii.info/rooms/‘);


這一步好了的話。

把三個檔案夾,

全部上傳到chat.yyii.info下,


再把client下的檔案,移到chat.yyii.info下。

這樣就能訪問到了。


需要防火牆開啟9501連接埠。

伺服器上開啟,swoole服務,9501監聽


在oneinstack下,命令如下:

iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

 /usr/local/php/bin/php /data/wwwroot/chat.yyii.info/server/hsw_server.php


將rooms目錄以及其子目錄許可權設為777,確保該目錄可寫。

uploads目錄設定為777可寫。

如果rooms放在server下也是一樣。就是server/config.inc.php也相應修改。


這樣就可以了!

訪問 http://chat.yyii.info  試一下吧!


如果有什麼問題,再檢查,

1.防火牆9501是否開啟,

/etc/init.d/iptables status

2.swoole服務是否開啟,9501是否監聽。

netstat-ntpl|grep 9501

lsof-i:9501

3.設定檔,目錄有沒有寫對。

4.uploads,rooms有沒有設定777許可權


==

提示:修改設定檔後,要重啟swoole服務。

重啟前先kill原來的服務。

命令用:

ps aux|grep server|grep -v grep | awk ‘{print $2}‘|xargs kill -9

這句的含義:http://www.hellosee.cc/2016/10/520.html


這句比如下,一個一個kill好。

ps aux|grep server

killall -9 ID


再啟動:

 /usr/local/php/bin/php /data/wwwroot/chat.yyii.info/server/hsw_server.php


OK,沒問題了!


聊天室http://www.hellosee.cc/

作者的聊天室:

http://chat.hellosee.cc


還可以擴充閱讀:

1190000006052748


杭州青橄欖 招聘PHP.  (幫朋友轉寄一下)


----------  招募未來大神 -----------------------

如果您有利他之心,樂於協助他人,樂於分享
如果您遇到php問題,百度且問了其他群之後仍沒得到解答

歡迎加入,PHP技術問答群,QQ群:292626152

教學相長!協助他人,自己也會得到提升!

為了珍惜每個人的寶貴時間,請大家不要閑聊。

願我們互相協助,共同成長!

加入時留言暗號,php,ajax,thinkphp,yii...


使用 Swoole 擴充和PHP 開發的線上聊天室

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.