我已经安装了一个新的Typo3安装。我有Windows 7,并使用Apache2.4PHP5.6.11和Zend 2.6.0以及Xdebug v2.3.3。
Typo3使用自己的错误处理程序,因此可以控制配置文件中的错误级别。然而,mysqli仍然为mysqli::init()和mysqli::stmt_init()抛出警告。在这两种情况下,错误都是
PHP警告:第782行的W:\typo3\sysext\core\Classes\Database\DatabaseConnection.php中还不允许mysqli::stmt_init():属性访问 PHP警告: W:\typo3\sysext\core\Classes\Database\DatabaseConnection.php第1190行中还不允许mysqli_init():属性访问
我尝试过阅读mysqli + xdebug breakpoint after closing statment result in many warnings线程,但似乎警告与mysqli中的一些bug有关。正如我所读到的,这些错误应该得到解决。由于这些错误来自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()。
那我能做什么呢?
发布于 2016-09-02 13:14:20
该问题通过将错误报告级别设置为E_ALL ( php.ini中的E_STRICT除外)来解决。这是因为Typo3中内置的错误处理程序比默认的错误处理程序更敏感。
error_reporting(E_ALL ^ E_STRICT);
https://stackoverflow.com/questions/38374618
复制相似问题