首页 > 后端开发 > 正文

PHP基于mongodb框架 PHP添加了mongodb,已经加载了组件,为什么在phpinfo中不显示mongo信息?

2023-09-11 13:44:07 | 我爱编程网

很多关注后端开发的朋友很希望了解PHP基于mongodb框架 PHP添加了mongodb,已经加载了组件,为什么在phpinfo中不显示mongo信息?,今天我爱编程网为大家整理了相关文章,一起来看看吧!

PHP基于mongodb框架 PHP添加了mongodb,已经加载了组件,为什么在phpinfo中不显示mongo信息?

PHP添加了mongodb,已经加载了组件,为什么在phpinfo中不显示mongo信息?

我说点题外话希望对你有些帮助吧
看你用的应该是集成环境,不知道是不是wamp;
我在wamp上有一次经历,命名在wamp开启curl可是通过命令行执行php时提示curl没有开启;
后来查了写资料才知道,wamp图标里点的php.ini不是在bin/php/php5.*.*/下的php.ini;而是在apache的bin目录下的php.ini;这两个文件的目录位置不一样不知道会不会对你说的情况造成影响.只是说说而已,勿喷

PHP基于mongodb框架 PHP添加了mongodb,已经加载了组件,为什么在phpinfo中不显示mongo信息?我爱编程网

php主流框架都有什么



php各种主流框架的比较
一、ThinkPHP框架
优势:简单易用(Model,Controller,View负责各自的工作),它拥有支持XML标签库技术的编译型模版引擎,支持两种模版标签, 动态编译,缓存技术。还支持自定义标签库,具有独特的数据验证和自动填充,MD5数据加密等功能。部署简单只需要一个入口 文件,上手快,有丰富的中文文档;学习成本低,社区活跃度高,在国内企业使用较广泛。
缺点:模版比较固定,导致思想容易固化。
二、CI框架
优势:框架比较简单,适合入门开发,易学,上手快,静态化很容易,文档比较详细。
缺点:由于框架较小,所以功能不完全,比如使用mongoDB就要自己实现接口,对数据库的操作不够安全(写入操作)。对大型项 目支持不好。
三、Laravel框架
优势:
1、支持Composer
2、框架结构比较清晰,注重代码的模块化(抽象了中间件,任务,服务等)和可扩展性,路由系统快速高效
3、支持处理跨站请求伪造,在进行form表单post提交时,必须传入{{ csrf_field() }}
4、Laravel 的社区很强大,具有丰富的扩展包及工具
5、具有缓存、身份验证、任务自动化、hash加密、事务等功能
6、独特的 .env环境文件,方便了系统的配置和不同平台的开发
缺点:基于组件式的框架,相对有点臃肿
四、Yii 框架
优势:
1、纯OOP开发,模型使用方便
2、支持命令行工具开发,可以快速的创建一个web应用程序的代码
3、具有高度的可重用性和可扩展性
4、开发速度快,性能优异且功能丰富
5、支持composer包管理工具
缺点:model 层考虑较少,文档中中文文档较少。要求php技术精通水平,OOP编程也要很熟练。

PHP基于mongodb框架 PHP添加了mongodb,已经加载了组件,为什么在phpinfo中不显示mongo信息?

thinkphp6 版本 mongodb 连表查询 案例?

#
public function index(){

// 方法1 您可以使用 $toObjectId聚合实现此目的,该聚合仅将字符串ID转换为mongoose objectId
//
// 多表查询

$pipeline = [
['$addFields'=>['company_id'=>['$toObjectId'=>'$company_id']]],
['$match'=>['$expr'=>['$eq'=>["\$company_id", "$\$company_Id"]]]],
];
$pipelines = [
// ['$match'=>["_id"=>new \MongoDB\BSON\ObjectId("5cb7e580a6c98abc468b458b")]],
// ['$match'=>["name"=>"xxx限公司"]],
[
'$lookup'=>[
'from'=>'oa_company_member_pay',
"let"=>["company_Id"=>"\$_id" ],
"pipeline"=>$pipeline,
'as'=>'company_pay'
],
]
];
// php 执行 产生了 2571 条数据 但是 用 db.runCommand() 执行 打印的 sql 语句 只有 101 条记录
dump(Db::connect('mongo')->name('oa_company')->cmd([
'aggregate'=>'oa_company',
'pipeline'=>$pipelines,
'explain'=>false,
]));

dump(Db::connect('mongo')->getLastSql());

// 以下 mongodb sql 在 数据库 查询 通过 有 2571 条记录
// db.getCollection("oa_company").aggregate([
// {
// "$lookup": {
// "from": "oa_company_member_pay",
// "let": { "company_Id": "$_id" },
// "pipeline": [
// { '$addFields': { "company_id": { "$toObjectId": "$company_id" }}},
// { "$match": { "$expr": { "$eq": [ "$company_id", "$$company_Id" ] } } }
// ],
// "as": "company_member_pay"
// }
// }
// ])
// 以下 mongodb sql 在 数据库 查询 通过 只有 101 条记录
// db.runCommand({
// "aggregate":"oa_company",
// "pipeline":[
// {
// "$lookup":{
// "from": "oa_company_member_pay",
// "let": { "company_Id": "$_id" },
// "pipeline": [
// { '$addFields': { "company_id": { "$toObjectId": "$company_id" }}},
// { "$match": { "$expr": { "$eq": [ "$company_id", "$$company_Id" ] } } }
// ],
// "as": "company_member_pay"
// }

// }
// ],
// "explain":false
// })

// 方法2 或者使用$toString聚合 可以通过 2571

// db.getCollection('oa_company').aggregate([
// { "$addFields": { "companyidStr": { "$toString": "$_id" }}},
// { "$lookup": {
// "from": "oa_company_member_pay",
// "localField": "companyidStr",
// "foreignField": "company_id",
// "as": "pay"
// }}
// ])
/*
$pipelines = [
// ['$match'=>["_id"=>new \MongoDB\BSON\ObjectId("5cb7e580a6c98abc468b458b")]],
// ['$match'=>["name"=>"xxx有限公司"]],
['$addFields'=>['companyidStr'=>['$toString'=>'$_id']]],
[
'$lookup'=>[
'from'=>'oa_company_member_pay',
'localField'=>'companyidStr',
'foreignField'=>'company_id',
'as'=>'company_pay'
],
]
];
// php 执行 产生了 2571 条数据 但是 用 db.runCommand() 执行 打印的 sql 语句 只有 101 条记录
dump(Db::connect('mongo')->name('oa_company')->cmd([
'aggregate'=>'oa_company',
'pipeline'=>$pipelines,
'explain'=>false,
]));

dump(Db::connect('mongo')->getLastSql());

// db.cmd({"aggregate":"oa_company","pipeline":[{"$addFields":{"companyidStr":{"$toString":"$_id"}}},{"$lookup":{"from":"oa_company_member_pay","localField":"companyidStr","foreignField":"company_id","as":"company_pay"}}],"explain":false});

// 下面 执行 不可以 只有 101 条数据
db.runCommand({"aggregate":"oa_company","pipeline":[{"$addFields":{"companyidStr":{"$toString":"$_id"}}},{"$lookup":{"from":"oa_company_member_pay","localField":"companyidStr","foreignField":"company_id","as":"company_pay"}}],"explain":false});

*/

}

以上就是我爱编程网为大家带来的PHP基于mongodb框架 PHP添加了mongodb,已经加载了组件,为什么在phpinfo中不显示mongo信息?,希望能帮助到大家,更多相关信息,敬请关注我爱编程网!
与“PHP基于mongodb框架 PHP添加了mongodb,已经加载了组件,为什么在phpinfo中不显示mongo信息?”相关推荐
php框架mongodb 如何为PHP安装mongodb的扩展
php框架mongodb 如何为PHP安装mongodb的扩展

如何为PHP安装mongodb的扩展1.首先下载php的mongodb扩展从这个网址下载mongodb的扩展源码包1wget-1.4.5.tgz2.解压安装包1tarzxfmongo-1.4.5.tgz3.进入解压目录,运行phpize进行安装准备12cdmongo-1.4.5/usr/local/php/bin/phpize

2023-08-26 15:14:30
php框架打开出现运行信息 php显示错误信息方法 php显示错误信息的方法
php框架打开出现运行信息 php显示错误信息方法 php显示错误信息的方法

php运行出现这个求解决解决办法:需要有自己的MYSQL数据库服务器。下载的网站里应该有数据库文件,然后导入你的数据库服务器里,在修改你的数据库文件地址,用户名,密码,还有数据库名。查看下是不是使用了post或者未传ip参数。win7下运行32位的程序没有问题,一直以为是64位的。php显示错误信息方法php显示错误信息的方法我们在

2023-10-04 05:44:39
框架php显示内容 apache php 安装好后,不能正确显示php文件中的内容?为什么?
框架php显示内容 apache php 安装好后,不能正确显示php文件中的内容?为什么?

php模板中怎么调用显示某个网址文件中的内容例如访问你自己的地址是:耐克鞋那么你的代码可以写成:<?php$id=$_GET['id'];$fh=fopen(''.$id.'.txt','r');//注意这里if($fh){while(!feof($fh)){echofgets($fh);}}?>在网页首页单击一个把内容的标题

2023-09-13 20:32:39
php无法加载加载框架 关于Thinkphp中“无法加载模块”的报错
php无法加载加载框架 关于Thinkphp中“无法加载模块”的报错

php无法加载dll怎么办php无法加载dll是因为缺少icu依赖,其解决办法:首先到官网去下载icu对应的版本;然后以icu开头的文件后缀“.dll”和“.exe”复制到apache的bin目录下;最后重启apache即可。推荐:《PHP视频教程》php_intl.dll'-找不到指定的模块。inUnknownonline0很多人遇到这个都是无法解决的。这篇是windows系

2023-09-18 05:47:52
php框架对mongodb php7.1往mongodb 写NumberLong和NumberInt怎么处理
php框架对mongodb php7.1往mongodb 写NumberLong和NumberInt怎么处理

php远程连接Mongodb问题<?php//这里采用默认连接本机的27017端口,当然你也可以连接远程主机如192.168.0.4:27017,如果端口是27017,端口可以省略$m=newMongo();//选择comedy数据库,如果以前没该数据库会自动创建,也可以用$m->selectDB("comedy");$db=$m->comedy;//选择comedy里面的

2023-09-09 21:49:57
mongodb框架php thinkphp6 版本 mongodb 连表查询 案例?
mongodb框架php thinkphp6 版本 mongodb 连表查询 案例?

PHP中高级面试题–第三天一、简述一下MongoDB的应用场景mongodb支持副本集、索引、自动分片,可以保证较高的性能和可用性。更高的写入负载默认情况下,MongoDB更侧重高数据写入性能,而非事务安全,MongoDB很适合业务系统中有大量“低价值”数据的场景。但是应当避免在高事务安全性的系统中使用MongoDB,除非能从架构设计上保证事务安全。高可用性

2023-08-31 12:20:30
php中在框架集上添加图片 PHPword怎么在载入的模板中插入一张图片?
php中在框架集上添加图片 PHPword怎么在载入的模板中插入一张图片?

用php写一个简单登录界面,怎么给它加入一张背景图片啊,用div框该怎么弄,或者其他的方法背景图像加载很简单,你只需要做以下几步即可(假设你的登陆界面对话框类名叫“CLoginDlg”):(1)菜单“Insert”->"Resource",选择Bitmap,然后点“Import...”,选择你的背景图像,然后假设该资源ID为“IDB_BITMAP1”;(2)在LoginDlg.

2023-10-07 05:44:57
php框架怎么加载文件 详解PHP文件的自动加载(autoloading)
php框架怎么加载文件 详解PHP文件的自动加载(autoloading)

PHP新手,如何正确让服务器加载PHP文件?(安装了MAMP)1打开【系统偏好设置】,选择【共享】确保【互联网共享】处于关闭状态。只要系统中从未安装过MySQL,就可以继续。2下载MAMP的最新版。3下载完成后安装。4打开【应用程序】,找到【MAMP】文件夹,双击打开文件夹,打开【MAMP】程序5弹出警告窗口,选择【LaunchMAMP】6浏览器

2023-09-26 06:35:48