PHP致命错误:Class' MongoDate'未找到

时间:2014-05-26 09:10:17

标签: mongodb lithium

我使用锂控制台(锂/ console / li3)运行一些命令,我​​收到此错误:

PHP Fatal error: Class 'MongoDate' not found

我的系统详情:

  • mongodb服务器:2.6.1
  • php mongodb client:1.5.2
  • apache 2.4.7
  • php 5.5.9-1ubuntu4

$Requests = Requests::find('all', array('conditions'=>array( 'expired'=>array('<'=>new \MongoDate(time())), 'processed'=>0 )));

在旧版本系统中运行此代码时,我没有此错误

  • PHP Version 5.3.10-1ubuntu3.11
  • Apache / 2.2.22(Ubuntu)服务器
  • mongodb客户端:1.4.5
  • mongodb服务器:2.4.10

谢谢。

还有一件事:我尝试创建一个简单的脚本

$date = new MongoDate();

它通过webserver(浏览器)运行没有问题,但如果我使用php命令运行此文件,我会收到同样的错误:Class 'MongoDate' not found 所以我相信这是php命令问题。

2 个答案:

答案 0 :(得分:13)

对于使用PHP 7 来到这里的人,该类已重命名:

MongoDate现在是MongoDB\BSON\UTCDateTime

此外,我发现现在需要毫秒而不是,因此请确保您的输入倍数为1000,例如:

$date = new \MongoDB\BSON\UTCDateTime(strtotime('yesterday') * 1000);

答案 1 :(得分:3)

确保已加载mongodb扩展程序。

var_dump(extension_loaded('mongodb'));

如果没有,则必须将其加载到php.ini