加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – MongoDB Codeigniter

发布时间:2020-12-13 22:44:29 所属栏目:PHP教程 来源:网络整理
导读:我设法使用Alex Bilbie`库在Codeigniter上运行MongoDB.操作顺利(连接,查询等)但有时我得到这些 PHP通知: Message: Mongo::__construct() [mongo.--construct]: localhost:27017: pool get (0x4bfab20)Filename: libraries/Mongo_db.phpLine Number: 1274A P
我设法使用Alex Bilbie`库在Codeigniter上运行MongoDB.操作顺利(连接,查询等)但有时我得到这些 PHP通知:

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

有没有办法摆脱这些?或者隐藏它们……因为它们似乎不会以另一种方式弄乱我的页面而不是溅入用户的屏幕.

编辑

在几页上,我使用JQgrid,当错误出现时,它们搞砸了我的HTTP响应并渲染了一些混乱的数据.

解决方法

此处的特定通知消息已在MongoDB PHP驱动程序1.2.11或更高版本中删除(请参阅 PHP-431).将MongoDB驱动程序升级到最新版本应删除过多的通知记录.

有关Code Igniter在生产中登录的正确设置的一般说明仍然适用…

E_NOTICE错误报告级别旨在警告您可能存在的错误或拼写错误.它通常仅用作开发设置而不是生产消息.

PHP4和PHP5中的默认值error_reporting setting实际上设置为忽略这些:

E_ALL & ~E_NOTICE

Code Igniter index.php具有应用程序环境设置,通常显示开发时的所有错误并抑制测试和生产的错误报告.你应该适当地设置它:

define('ENVIRONMENT','production');

如果您确实想要为生产环境捕获这些消息,则应该更新index.php中的生产设置,以便不使用error_reporting(0):

> error_reporting()设置为适当的详细程度
> display_errors关闭
> log_errors
> error_log路径设置

例如,在index.php中,您可以:

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_log,但它们不会显示给最终用户.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读