lixuancn / MeepoPS

MeepoPS是Meepo PHP Socket的缩写,旨在提供稳定的Socket服务。可以轻松构建在线实时聊天、即时游戏、视频流媒体播放等。
http://meepops.lanecn.com
Do What The F*ck You Want To Public License
505 stars 137 forks source link

PHP Version: 7.1.4 下 Tcp.php ( 353行)的 unset($this) #7

Closed iMactool closed 7 years ago

iMactool commented 7 years ago

MeepoPS Start: [OK] -------------------------- MeepoPS Start Success ------------------------ MeepoPS Version: 0.0.5 | PHP Version: 7.1.4 | Master Pid: 78621 | Event: Select -------------------------- Instances List -------------------------

Fatal error: Cannot unset $this in MeepoPS/MeepoPS/Core/TransportProtocol/Tcp.php on line 353

这个可以删除 Tcp.php ( 353行)的 unset($this) 就可以了。

---- 弱弱问一下 这个库还在维护么?

lixuancn commented 7 years ago

在维护。

DEV版本是加了try catch try { unset($this); } catch (\Exception $e) { Log::write('MeepoPS: This is fatal error! I haven\'t been able to reproduce the problem. Please contact me: lixuan868686@163.com.' . ' throw exception' . json_encode($e), 'ERROR'); }

之前也有一次反馈,但是我一直都没有复现出来过=.=

PHP并没有GC机制,而常住内存的话没有GC,垃圾会比较多。所以这里给加了Unset。

在PHP5之后,unset就可以传$this进去了。

Big7lion commented 7 years ago

感谢!

iMactool commented 7 years ago

复现的话 用 这个代码:http://meepops.lanecn.com/_book/2-quick-start/6-how-use.html image image

我这里试着加 try { unset($this); } catch (\Exception $e) { Log::write('MeepoPS: This is fatal error! I haven\'t been able to reproduce the problem. Please contact me: lixuan868686@163.com.' . ' throw exception' . json_encode($e), 'ERROR'); }

Dev 分支也是同样的错误。

image

lixuancn commented 7 years ago

可我还是没有复现出来=。=好难过

zsyprince commented 7 years ago

我在 PHP 7.1.8RC1 测试,unset($this)不可以的,,,但是 PHP 7.0.7 是可以的。。很奇怪。。

netassa commented 7 years ago

你好,请问还没解决吗?

lixuancn commented 7 years ago

@netassa 这行删了即可,不影响的。PHP版本的问题。

Noahigh commented 5 years ago

7.2.19 复现该错误

我是把这行给注释掉了

lixuancn commented 5 years ago

7.2.19 复现该错误

我是把这行给注释掉了

unset($this) 去掉不行?报什么错