想搭一个 WEBSOCKET 服务器,但 PHP 版本太低 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
edison111cry
V2EX    问与答

想搭一个 WEBSOCKET 服务器,但 PHP 版本太低

  •  
  •   edison111cry 2017-07-27 21:02:01 +08:00 3163 次点击
    这是一个创建于 3049 天前的主题,其中的信息可能已经有所发展或是发生改变。

    服务器上的 PHP 版本是 5.3.3 的,是很早以前用源码编译的。想着升级 PHP 版本的话好像有些麻烦,怕万一再失败了。 然后有个页面需要用到 WEBSOCKET 服务,网上找了下,有 WORKERMAN 和 SWOOLE 都可以,但是他们都不支持 PHP5.3.3, 我这个页面的并发量不大,几十个人,最好几百个人。现在怎么办呢?我自己找代码自己撸一个 WEBSOCKET 吗? 求指点

    9 条回复    2017-07-28 08:50:10 +08:00
    zhs227
        1
    zhs227  
       2017-07-27 21:07:08 +08:00
    这些都是可以 cli 方式运行的,换个目录再装一个。
    edison111cry
        2
    edison111cry  
    OP
       2017-07-27 21:10:33 +08:00
    @zhs227 大神,请讲再细一些。我明白他们的 WEBSOCKET 是可以用 PHP 的 CLI 模式来运行在后台,但是他们的官网上都必须要求高版本的 PHP。所以换个目录再装一个是指啥?
    xfspace
        3
    xfspace  
       2017-07-27 21:12:58 +08:00 via Android
    @edison111cry 换个目录装高版本 PHP
    shmilyin
        4
    shmilyin  
       2017-07-27 21:13:46 +08:00 via Android
    手动编译安装,指定不同的目录就好了,php-fpm 的形式也是可以跑多版本的
    zhs227
        5
    zhs227  
       2017-07-27 21:14:13 +08:00
    一个服务器上可以不止一个版本的 PHP。假设之前安装在 /usr/local/php 下面,你完全可以再安装一个 PHP7 到 /usr/local/php7 目录下。
    然后运行 /usr/local/php7/bin/php start.php -d

    或者还有一个办法,不要用 php 写 websocket,用 node 或者 python 去写这个 websocket 服务也行
    或者再买台服务器装个 PHP 也行
    ……
    edison111cry
        6
    edison111cry  
    OP
       2017-07-27 21:23:25 +08:00
    @zhs227 多谢哈,明白了,我以为装个高版本的 PHP 先要把我之前的低版本的给删掉或覆盖呢。那通过 HTTP 发的请求走到 NGINX 里还是用的以前的低版本的 PHP 是吧,我在低版本里 PHP 代码里写 WEBSOCKET 的逻辑推送时,他会调用这个 WEBSOCKET 接口是吗?
    zhs227
        7
    zhs227  
       2017-07-27 21:36:09 +08:00
    如果你还要在低版本下面给 Workerman 的 GateWay 发信息,用它自身的 GatewayClient 的库,那你必须把 Web 运行的那个版本也升上来。GatewayClient 可能没办法在那么低的版本下工作。

    不想升老版本,就没办法使用库提供的便利,只能自己再写一套基于 Tcp 或 Udp 的调用接口给老版本使用。
    edison111cry
        8
    edison111cry  
    OP
       2017-07-27 21:43:47 +08:00
    @zhs227 多谢指导,那看来只能升级 PHP 版本了,哎,又比较担心升级失败了 :(
    ACTom
        9
    ACTom  
       2017-07-28 08:50:10 +08:00
    不需要升级旧版本的,php 可以装多个版本的,不管是 cli 还是 web 的,自己编译当然更好,不自己编译可以用 sclo 源或者 remi 源。
    nginx 与 php 搭配一般是 php-fpm,新版本的 php-fpm 你可以配置不同的端口或者 sockets 文件,nginx 中指定新版本的 php 的端口就好。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3361 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 11:04 PVG 19:04 LAX 03:04 JFK 06:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86