Home  >  Article  >  Backend Development  >  php Class ‘MongoClient’ NOT Found

php Class ‘MongoClient’ NOT Found

WBOY
WBOYOriginal
2016-06-20 12:32:107540browse

windows下为php7.0.4安装目前官方版本对应的最新的php_mongodb.dll扩展,该扩展版本为1.1.6,支持最高版本MongoDB3.2,支持php7.0,;在phpinfo中可以看到MongoDB扩展,如图
但是在没有使用命名空间的情况下,new MongoClient();出现如下错误
Fatal error: Uncaught Error: Class 'MongoClient' not found in E:\.......... 这是为什么??请问

版本支持如下图(注意mongodb1.1那一行)
1、扩展对MOngoDB版本的支持


2、扩展对php版本的支持


回复讨论(解决方案)

没用过,不好说

不过你怎么知道就一定有 MongoClient 类呢?
你至少需要
print_r(get_extension_funcs('mongodb'));
看一下该扩展中提供了那些函数
print_r(get_declared_classes());
看一下预定义类中是否有你需要(或相似)的类名

php.net的官方文档是这么用的new MongoClient()
我也不清楚是否有这类,是不是我没有安装对应的VC?
vc14的下载地址是什么,怎么在网上找不到

@xuzuning 

我不是让你看一下吗?
手边的事情就那么难?

Array
(
    [0] => MongoDB\BSON\fromPHP
    [1] => MongoDB\BSON\toPHP
    [2] => MongoDB\BSON\toJSON
    [3] => MongoDB\BSON\fromJSON
)
Array
(
    [0] => stdClass
    [1] => Exception
    [2] => ErrorException
    [3] => Error
    [4] => ParseError
    [5] => TypeError
    [6] => ArithmeticError
    [7] => DivisionByZeroError
    [8] => Closure
    [9] => Generator
    [10] => ClosedGeneratorException
    [11] => DateTime
    [12] => DateTimeImmutable
    [13] => DateTimeZone
    [14] => DateInterval
    [15] => DatePeriod
    [16] => LogicException
    [17] => BadFunctionCallException
    [18] => BadMethodCallException
    [19] => DomainException
    [20] => InvalidArgumentException
    [21] => LengthException
    [22] => OutOfRangeException
    [23] => RuntimeException
    [24] => OutOfBoundsException
    [25] => OverflowException
    [26] => RangeException
    [27] => UnderflowException
    [28] => UnexpectedValueException
    [29] => RecursiveIteratorIterator
    [30] => IteratorIterator
    [31] => FilterIterator
    [32] => RecursiveFilterIterator
    [33] => CallbackFilterIterator
    [34] => RecursiveCallbackFilterIterator
    [35] => ParentIterator
    [36] => LimitIterator
    [37] => CachingIterator
    [38] => RecursiveCachingIterator
    [39] => NoRewindIterator
    [40] => AppendIterator
    [41] => InfiniteIterator
    [42] => RegexIterator
    [43] => RecursiveRegexIterator
    [44] => EmptyIterator
    [45] => RecursiveTreeIterator
    [46] => ArrayObject
    [47] => ArrayIterator
    [48] => RecursiveArrayIterator
    [49] => SplFileInfo
    [50] => DirectoryIterator
    [51] => FilesystemIterator
    [52] => RecursiveDirectoryIterator
    [53] => GlobIterator
    [54] => SplFileObject
    [55] => SplTempFileObject
    [56] => SplDoublyLinkedList
    [57] => SplQueue
    [58] => SplStack
    [59] => SplHeap
    [60] => SplMinHeap
    [61] => SplMaxHeap
    [62] => SplPriorityQueue
    [63] => SplFixedArray
    [64] => SplObjectStorage
    [65] => MultipleIterator
    [66] => ReflectionException
    [67] => Reflection
    [68] => ReflectionFunctionAbstract
    [69] => ReflectionFunction
    [70] => ReflectionGenerator
    [71] => ReflectionParameter
    [72] => ReflectionType
    [73] => ReflectionMethod
    [74] => ReflectionClass
    [75] => ReflectionObject
    [76] => ReflectionProperty
    [77] => ReflectionExtension
    [78] => ReflectionZendExtension
    [79] => SessionHandler
    [80] => __PHP_Incomplete_Class
    [81] => php_user_filter
    [82] => Directory
    [83] => AssertionError
    [84] => ZipArchive
    [85] => LibXMLError
    [86] => DOMException
    [87] => DOMStringList
    [88] => DOMNameList
    [89] => DOMImplementationList
    [90] => DOMImplementationSource
    [91] => DOMImplementation
    [92] => DOMNode
    [93] => DOMNameSpaceNode
    [94] => DOMDocumentFragment
    [95] => DOMDocument
    [96] => DOMNodeList
    [97] => DOMNamedNodeMap
    [98] => DOMCharacterData
    [99] => DOMAttr
    [100] => DOMElement
    [101] => DOMText
    [102] => DOMComment
    [103] => DOMTypeinfo
    [104] => DOMUserDataHandler
    [105] => DOMDomError
    [106] => DOMErrorHandler
    [107] => DOMLocator
    [108] => DOMConfiguration
    [109] => DOMCdataSection
    [110] => DOMDocumentType
    [111] => DOMNotation
    [112] => DOMEntity
    [113] => DOMEntityReference
    [114] => DOMProcessingInstruction
    [115] => DOMStringExtend
    [116] => DOMXPath
    [117] => PDOException
    [118] => PDO
    [119] => PDOStatement
    [120] => PDORow
    [121] => SimpleXMLElement
    [122] => SimpleXMLIterator
    [123] => XMLReader
    [124] => XMLWriter
    [125] => PharException
    [126] => Phar
    [127] => PharData
    [128] => PharFileInfo
    [129] => CURLFile
    [130] => finfo
    [131] => MongoDB\Driver\Command
    [132] => MongoDB\Driver\Cursor
    [133] => MongoDB\Driver\CursorId
    [134] => MongoDB\Driver\Manager
    [135] => MongoDB\Driver\Query
    [136] => MongoDB\Driver\ReadConcern
    [137] => MongoDB\Driver\ReadPreference
    [138] => MongoDB\Driver\Server
    [139] => MongoDB\Driver\BulkWrite
    [140] => MongoDB\Driver\WriteConcern
    [141] => MongoDB\Driver\WriteConcernError
    [142] => MongoDB\Driver\WriteError
    [143] => MongoDB\Driver\WriteResult
    [144] => MongoDB\Driver\Exception\LogicException
    [145] => MongoDB\Driver\Exception\RuntimeException
    [146] => MongoDB\Driver\Exception\UnexpectedValueException
    [147] => MongoDB\Driver\Exception\InvalidArgumentException
    [148] => MongoDB\Driver\Exception\ConnectionException
    [149] => MongoDB\Driver\Exception\AuthenticationException
    [150] => MongoDB\Driver\Exception\SSLConnectionException
    [151] => MongoDB\Driver\Exception\WriteException
    [152] => MongoDB\Driver\Exception\BulkWriteException
    [153] => MongoDB\Driver\Exception\ExecutionTimeoutException
    [154] => MongoDB\Driver\Exception\ConnectionTimeoutException
    [155] => MongoDB\BSON\Binary
    [156] => MongoDB\BSON\Javascript
    [157] => MongoDB\BSON\MaxKey
    [158] => MongoDB\BSON\MinKey
    [159] => MongoDB\BSON\ObjectID
    [160] => MongoDB\BSON\Regex
    [161] => MongoDB\BSON\Timestamp
    [162] => MongoDB\BSON\UTCDateTime
    [163] => mysqli_sql_exception
    [164] => mysqli_driver
    [165] => mysqli
    [166] => mysqli_warning
    [167] => mysqli_result
    [168] => mysqli_stmt
    [169] => SoapClient
    [170] => SoapVar
    [171] => SoapServer
    [172] => SoapFault
    [173] => SoapParam
    [174] => SoapHeader
    [175] => SQLite3
    [176] => SQLite3Stmt
    [177] => SQLite3Result
    [178] => XSLTProcessor
)
与MongoDB有关的就这几个而已

找到原因了,是因为旧版的php_mongo.dll才是使用MongoClient类来实现连接,新版的php_mongodb.dll是使用 MongoDB\Driver\Manager来连接的;注意该类命名空间不能省略。
这是旧版的参考文档 http://php.net/manual/zh/book.mongo.php
这是新版的参考文档 http://php.net/manual/zh/book.mongodb.php
下面是新版的使用方法:

	$con    = new MongoDB\Driver\Manager('mongodb://127.0.0.1:27017');	$query  = new MongoDB\Driver\Query([]);	$cursor = $con->executeQuery('databaseName.collectionName',$query);	$it     = new IteratorIterator($cursor);	$it->rewind();	while ($doc=$it->current()) {		print_r($doc);		$it->next();		echo '<br/>';	}

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn