简体   繁体   English

PHP 5.3.X中的非确定性对象引用错误

[英]Non-deterministic object reference bug in PHP 5.3.X

As of yesterday (perhaps after a recent PHP update?), I'm getting some very strange non-deterministic bugs in php 5.3.3. 截至昨天(也许是在最近的PHP更新之后?),我在php 5.3.3中遇到了一些非常奇怪的非确定性错误。 These appear in our production server in PHP 5.3.2 as well. 它们也出现在PHP 5.3.2的生产服务器中。

The errors essentially amount to Fatal error: Uncaught exception 'ErrorException' with message 'Attempt to assign property of non-object' in various parts of the code base. 这些错误本质上构成Fatal error: Uncaught exception 'ErrorException' with message 'Attempt to assign property of non-object'在代码库的各个部分中Fatal error: Uncaught exception 'ErrorException' with message 'Attempt to assign property of non-object' Generally, the error line is something like: $this->foo = $bar in a __construct() call. 通常,错误行类似于: __construct()调用中的$this->foo = $bar

$this is not found in the constructor?! 在构造函数中找不到$this ?!

I have no idea what is going on. 我不知道发生了什么事。 Any ideas? 有任何想法吗? Is this possibly a regression of this bug?: http://bugs.php.net/31525 这可能是这个bug的回归吗?: http//bugs.php.net/31525

Edit : I should mention, refreshing the script after a little while, with absolutely no changes to the code, makes it work again. 编辑 :我应该提一下,一段时间后刷新脚本,完全没有更改代码,让它再次工作。 Hence non-deterministic. 因此是非确定性的。

Edit 2 : Furthermore, while PHP is set to log even the tiniest of errors, and is logging other errors as they occur, this error is not logged in the log file. 编辑2 :此外,虽然PHP设置为记录最小的错误,并发生其他错误时记录,此错误不会记录在日志文件中。 This brings me to think we are looking at a PHP engine dependency error. 这让我想到我们正在研究PHP引擎依赖性错误。

Well, it looks to be a bug... 好吧,它看起来像一个bug ...

Here's some relevant bug reports: 这是一些相关的错误报告:

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM