gpt4 book ai didi

php - laravel mongodb 关闭客户端连接 剩余数据太小

转载 作者:IT老高 更新时间:2023-10-28 12:31:32 27 4
gpt4 key购买 nike

Route::get('/', function () {
$tweets = Tweet::all();
return view('welcome', ['tweets' => $tweets]);
});

我正在使用 mongodb 制作一个 laravel 应用程序。

当我转到“/”时,我在 mongod 终端中收到一个错误,上面写着

AssertionException handling request, closing client connection: 10304 Client Error: Remaining data too small for BSON object

这是我的推文模型(在 App\Tweet 中):

namespace App;

use Jenssegers\Mongodb\Model as Eloquent;

class Tweet extends Eloquent {

protected $collection = 'tweets_collection';

}

最佳答案

出现此问题 (Client Error: Remaining data too small for BSON object) 的原因至少有两个:

1. PHP MongoDB驱动与 native 安装的MongoDB不兼容。
(最初在 first answer 中提到)。

检查在您的机器上设置的 PHP 驱动程序版本 <?php phpinfo();页面:

enter image description here

检索正在使用的 MongoDB 版本:

mongod --version\
# db version v3.2.0

使用 compatibility table on MongoDB website查看检查的 PHP MongoDB 驱动程序版本是否与 MongoDB 版本兼容:

enter image description here

如果版本不兼容,则需要卸载现有部件之一并安装兼容版本。根据我自己的经验,更改 PHP MongoDB 驱动程序要容易得多,因为只有不同的 .so扩展文件是必需的。

<强>2。机器上安装了两个 PHP MongoDB 驱动程序。

自从 MongoClient 已弃用,许多在线教程和文章(包括 official mongo-php-driver repository on Github )现在指导安装 mongodb ,而不是 mongo PHP 驱动程序。一年前,大家都在指着mongo但是,扩展名。

由于 mongo 的这一变化至mongodb ,我们可能会得到 php.ini 中定义的两个扩展文件。 请确保,“动态扩展”部分下只定义了一个扩展:

enter image description here


希望有人在寻找通过 PHP MongoDB 驱动程序与 MongoDB 一起使用 MongoDB 来修复“Remaining data too small for BSON object”错误的解决方案时得到这个有用的答案。

关于php - laravel mongodb 关闭客户端连接 剩余数据太小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34399409/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com