Laravel 4:找不到"MongoClient"类

 咖啡的因_411 发布于 2023-01-08 22:58

我在WAMP上安装了Laravel 4,它与MySQL后端配合得很好.

我已成功设置第二个虚拟主机,并希望使用MongoDB后端.在搜索之后,我发现Laravel本身并没有连接到MongoDB,我发现https://github.com/jenssegers/Laravel-MongoDB,我一直试图设置它,但我似乎无法做到正确.显然我一定是做错了什么,我希望有人可以帮助我找出我做得不对的事情.

composer.json根据说明编辑:

............
"license": "MIT",
"require": {
    "laravel/framework": "4.1.*",
    "jenssegers/mongodb": "*"
},
"autoload": {
.........

然后我跑了composer update.它安装了monolog 1.9.1和swiftmailer v5.2.0 - 无论这些是什么 - 成功(几天前)但之后又抛出了一个错误.今天我试着composer update再次运行,它分别将两个更新为1.10.0和v5.2.1,然后遇到了同样的错误.现在,当我尝试composer update它时,始终会抛出同样的错误:

Nothing to install or update
Generating autoload files
{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","me
ssage":"Class 'MongoClient' not found","file":"C:\\wamp\\www\\laravel\\vendor\\j
enssegers\\mongodb\\src\\Jenssegers\\Mongodb\\Connection.php","line":132}}Script
 php artisan clear-compiled handling the post-update-cmd event returned with an
error  


  [RuntimeException]
  Error Output:    


update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock]
 [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [--with-
dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [packages1] ... [
packagesN]

我尝试过的:

我已经下载并安装了php_mongo.dll,方法是将它放在php ext文件夹中并在php.ini中启用它:

; added for mongoDB connections
extension=php_mongo.dll

但这没有帮助.

1 个回答
  • 注意:如果没有@Hassan的帮助,我无法完全解决问题 - 请参阅@Hassan的答案下的评论.

    我将提供这个答案,希望它可以帮助可能遇到同样问题的其他人.我认为最好把它作为一个答案,以便它脱颖而出.

    进一步搜索引导我:https://github.com/jenssegers/Laravel-MongoDB/issues/36 然后在这里:https://github.com/leroy-merlin-br/mongolid-laravel#troubleshooting
    以下命令和输出表示php.ini我应该使用php_mongo.dll扩展程序更新的位置:

    $ php -i | grep 'Configuration File'
    Configuration File (php.ini) Path => C:\Windows
    Loaded Configuration File => C:\wamp\bin\php\php5.5.12\php.ini
    

    但是WAMP托盘图标指向C:\wamp\bin\apache2.4.9\bin\php.ini- 这是我更新的内容.我还检查了CLI环境中的PHP是否通过运行以下命令正确导入驱动程序,并显示了输出:

    $ php -i | grep 'Mongo'
    MongoDB Support => enabled
    

    更新正确后php.ini,我再次restarted apache尝试composer update.错误是不同的 - 身份验证 - 因为用户名,密码和数据库是错误的.一旦更正,更新完成没有发生任何事故.

    2023-01-08 23:17 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有