与日志记录级别相关,而不是与O/S版本相关。正如我在回答中提到的,PHP默认设置是抑制E_NOTICE消息。。但是一些开发环境(在本例中是CodeIgniter)默认启用E_ALL。升级MongoDB驱动程序应该会删除过多的通知,但不会修复向最终用户显示所

与日志记录级别相关,而不是与O/S版本相关。正如我在回答中提到的,PHP默认设置是抑制E_NOTICE消息。。但是一些开发环境(在本例中是CodeIgniter)默认启用E_ALL。升级MongoDB驱动程序应该会删除过多的通知,但不会修复向最终用户显示所,php,codeigniter,mongodb,Php,Codeigniter,Mongodb,与日志记录级别相关,而不是与O/S版本相关。正如我在回答中提到的,PHP默认设置是抑制E_NOTICE消息。。但是一些开发环境(在本例中是CodeIgniter)默认启用E_ALL。升级MongoDB驱动程序应该会删除过多的通知,但不会修复向最终用户显示所有消息的一般应用程序错误配置。CodeIgniter具有应用程序环境设置,应该使用这些设置。@Stennie PHP 5.3+默认情况下不推荐将E_ALL&~E_作为日志记录级别。我记得这是在谷歌集团。用Linux版本测试没有得到日志,但用Wi


与日志记录级别相关,而不是与O/S版本相关。正如我在回答中提到的,PHP默认设置是抑制
E_NOTICE
消息。。但是一些开发环境(在本例中是CodeIgniter)默认启用E_ALL。升级MongoDB驱动程序应该会删除过多的通知,但不会修复向最终用户显示所有消息的一般应用程序错误配置。CodeIgniter具有应用程序环境设置,应该使用这些设置。@Stennie PHP 5.3+默认情况下不推荐将E_ALL&~E_作为日志记录级别。我记得这是在谷歌集团。用Linux版本测试没有得到日志,但用Windows版本我得到了。这就是为什么Marcin Gil说它被认为是用debug编译的,因为它的行为与PHP文档中的标志相同,而Linux驱动程序不是。所以我认为它被编译得很奇怪,他就这么做了。@Stennie是的,我明白你为什么这么说了:医生已经过时了。如果您下载最新的PHP 5.3或5.4,您会在PHP.ini中发现默认设置是显示所有和隐藏不推荐的通知。你和我被同一个钩子钩住了:)@Stennie我已经在我的问题中添加了php.ini通知,那么,这不是和我的答案一样吗?;-)。少了OP实际使用的代码点火器的细节。。。
Message: Mongo::__construct() [mongo.--construct]: localhost:27017: pool get (0x4bfab20)

Filename: libraries/Mongo_db.php

Line Number: 1274
A PHP Error was encountered

Severity: Notice

Message: Mongo::__construct() [mongo.--construct]: localhost:27017: found in pool (0x4bfab20)

Filename: libraries/Mongo_db.php
E_ALL & ~E_NOTICE
define('ENVIRONMENT', 'production');
case 'production':
    error_reporting(E_ALL);
    ini_set('display_errors','Off');
    ini_set('log_errors','On');
    ini_set('error_log','/var/log/php5.log');
break;
; error_reporting
;   Default Value: E_ALL & ~E_NOTICE
;   Development Value: E_ALL | E_STRICT
;   Production Value: E_ALL & ~E_DEPRECATED
E_ALL & ~E_DEPRECATED
error_reporting = E_ALL & ~E_DEPRECATED