lixuancn/MeepoPS

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

iMactool opened this issue · 9 comments

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) 就可以了。

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

在维护。

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进去了。

感谢!

复现的话 用 这个代码: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

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

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

你好,请问还没解决吗?

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

7.2.19 复现该错误

我是把这行给注释掉了

7.2.19 复现该错误

我是把这行给注释掉了

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