Maison > Article > développement back-end > php Class ‘MongoClient’ NOT Found
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/>'; }