警告:mysqli :: init():[脚本路径]中不允许属性访问

时间:2016-07-14 12:46:04

标签: php mysqli typo3 xdebug

我安装了全新的Typo3安装程序。 我有Windows 7并使用Apache 2.4 PHP 5.6.11与Zend Engine 2.6.0和Xdebug v2.3.3。

Typo3使用自己的错误处理程序,因此可以控制配置文件中的错误级别。但是,mysqli仍然会针对mysqli::init()mysqli::stmt_init()发出警告。在这两种情况下,错误都是

  

PHP警告:mysqli :: stmt_init():在第782行的W:\ typo3 \ sysext \ core \ Classes \ Database \ DatabaseConnection.php中不允许属性访问

     

PHP警告:mysqli_init():在W:\ typo3 \ sysext \ core \ Classes \ Database \ DatabaseConnection.php第1190行中不允许属性访问

我试过阅读线程mysqli + xdebug breakpoint after closing statment result in many warnings,但似乎警告与mysqli中的一些错误有关。正如我所读到的,这些错误应该得到解决。 由于这些错误来自Typo3的核心,我认为在DatabaseConnection.php文件中进行编辑是愚蠢的。 但是,我使用mysqli::__construct而不是mysqli_init()测试了我的连接。 mysqli::__construct不会抛出任何警告/错误。 http://php.net/manual/en/mysqli.construct.php

在typo3conf / LocalConfiguration.php中,我将errorHandlerErrorsexceptionalErrors设置为30965而不是30466,这样Typo3就不会出现警告异常。这只解决了mysqli_init() - 而不是stmt_init()的问题。

那我该怎么办?

1 个答案:

答案 0 :(得分:0)

通过将错误报告级别设置为E_ALL来解决问题,除了php.ini中的E_STRICT。 这是因为Typo3中的内置错误处理程序对默认错误处理程序更敏感。

error_reporting(E_ALL ^ E_STRICT);