gpt4 book ai didi

php - MongoDB 代码点火器

转载 作者:可可西里 更新时间:2023-11-01 09:15:50 24 4
gpt4 key购买 nike

我设法使用 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 级别的错误报告旨在警告您可能存在的错误或拼写错误。它通常仅用作开发设置,而不用于生产消息。

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

E_ALL & ~E_NOTICE

Code Igniter index.php 有一个应用程序环境设置,它通常显示开发的所有错误并抑制的错误报告测试生产。您应该适本地设置它:

define('ENVIRONMENT', 'production');

如果您真的想为生产环境捕获这些消息,您应该更新 index.php 中的 production 设置,这样您就可以拥有 error_reporting(0) :

例如,在 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 中,但不会向最终用户显示。

关于php - MongoDB 代码点火器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11435902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com