我安装了全新的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中,我将errorHandlerErrors
和exceptionalErrors
设置为30965而不是30466,这样Typo3就不会出现警告异常。这只解决了mysqli_init()
- 而不是stmt_init()
的问题。
那我该怎么办?
答案 0 :(得分:0)
通过将错误报告级别设置为E_ALL来解决问题,除了php.ini中的E_STRICT。 这是因为Typo3中的内置错误处理程序对默认错误处理程序更敏感。
error_reporting(E_ALL ^ E_STRICT);