PHP message: PHP Fatal error: Uncaught Error: Class 'Mongo' not found
brew + Nginx + PHP7 + MongoDB3.2.9 + Mongo-PHP_driver 1.40
搭好环境后写了个脚本:
<?php $connection = new Mongo(); ?>
通过网页访问,网页显示空白,查看nginx 的错误日志是:
"PHP message: PHP Fatal error: Uncaught Error: Class 'Mongo' not found in /var/www/phpscripts/mongo.php:2
找不到Mongo这个类,
通过函数 get_extension_funcs 和get_declared_classes查看mongo提供的类名和函数名
print_r(get_extension_funcs('mongodb')); #看一下该扩展中提供了那些函数
print_r(get_declared_classes()); #看一下预定义类中是否有你需要(或相似)的类名
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的类名变成了: MongoDB\Driver\Manager
因此这样修改文件 :
$con = new MongoDB\Driver\Manager( 'mongodb://127.0.0.1:27017' ); $query = new MongoDB\Driver\Query([]); $cursor = $con ->executeQuery( 'test.person' , $query ); #test id mongodb default database, person is created by ourself $it = new IteratorIterator( $cursor ); $it -> rewind (); while ( $doc = $it ->current()) { print_r( $doc ); $it ->next(); echo '<br/>' ; }
原文链接:https://blog.csdn.net/zhuxiaoping54532/article/details/52326149
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)