首頁  >  問答  >  主體

使用PHP+Swoole實現的網頁即時聊天,中高級程式設計師進階學習

將client目錄設定到Nginx/Apache的虛擬主機目錄中,使client/index.html可存取。修改client/config.js中,IP和連接埠為對應的設定。 php webim_server.php 詳細部署說明1.安裝composer(php依賴套件工具)

curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer 注意:如果未將php解釋器程式設定為環境變數PATH中,則需要設定。因為composer檔案第一行為#!/usr/bin/env php,並不能修改。

2.composer install

切換到PHPWebIM專案目錄,執行指令composer install,如很慢則

composer install --prefer-dist 3.Ningx/Apache配置(這裡未使用swoole_framework提供的Web AppServer)

nginx

server
{
    listen       80;
    server_name  im.swoole.com;
    index index.shtml index.html index.htm index.php;
    root  /path/to/PHPWebIM/client;
    location ~ .*\.(php|php5)?$
    {
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
    access_log  /Library/WebServer/nginx/logs/im.swoole.com  access;
}

apache

<VirtualHost *:80>
    DocumentRoot "path/to/PHPWebIM/client"
    ServerName im.swoole.com
    AddType application/x-httpd-php .php
    <Directory />
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
        DirectoryIndex index.php
    </Directory>
</VirtualHost>

4.修改設定PHPWebIM/config.php

$config['server'] = array(
    //监听的HOST
    'host' => '0.0.0.0',
    //监听的端口
    'port' => '9503',
    //WebSocket的URL地址,供浏览器使用的
    'url' => 'ws://127.0.0.1:9503',
);

server. host server.port 項目為WebIM伺服器即WebSocket伺服器的IP與端口,其他選擇項根據具體情況修改server.url對應的就是伺服器IP或網域名稱以及websocket服務的端口,這個就是提供給瀏覽器的WebSocket位址webim. data_dir用於修改聊天記錄儲存的目錄,必須有可寫權限 

5.啟動WebSocket伺服器php PHPWebIM/webim_server.php IE瀏覽器不支援WebSocket,需要使用FlashWebSocket模擬,請修改flash_policy.php中對應的端口,然後啟動flash_policy.php。 php PHPWebIM/flash_policy.php 6.綁定host與存取聊天視窗(可選) 如果URL直接使用IP:PORT,這裡不需要設定。 vi /etc/hosts 增加 127.0.0.1 im.swoole.com 用瀏覽器開啟:http://im.swoole.com 


蘑菇宝蘑菇宝2164 天前1427

全部回覆(0)我來回復

無回覆
  • 取消回覆