文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

mac下PHP如何安装mongodb的扩展

2023-06-22 07:38

关注

这篇文章主要介绍mac下PHP如何安装mongodb的扩展,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

mac安装php mongodb的方法:1、下载php的mongodb扩展;2、解压安装包;3、进入解压目录,运行phpize,为安装扩展准备环境;4、安装编译mongodb的php扩展;5、在extension区域添加mongodb扩展。

mac下PHP如何安装mongodb的扩展

本文操作环境:macOS10.13.3系统、mongodb1.4.3&&PHP7.1.16版本、MacBook Air 2019电脑

mac下PHP安装mongodb的扩展:

phpize路径为/usr/local/php/bin/phpize。

php-config路径为 /usr/local/php/bin/php-config。

首先下载php的mongodb扩展

从http://pecl.php.net/package/mongodb这个网址下载mongodb的扩展源码包(注意:不要从http://pecl.php.net/package/mongo下载,因为这个package已经过期),在命令行执行如下命令:

wget http://pecl.php.net/get/mongodb-1.4.3.tgz

解压安装包

 tar -zxvf  mongodb-1.4.3.tgz

进入解压目录,运行phpize,为安装扩展准备环境

 cd mongodb-1.4.3 /usr/local/php/bin/phpize

安装编译mongodb的php扩展

第3步执行完成后,在当前目录下就生成了configure文件。接下来,使用./configure命令进行安装配置;然后,使用make && make install进行编译安装,命令如下:

 ./configure --with-php-config=/usr/local/php/bin/php-config make && make install

查看是否在PHP扩展目录中已经生成.so扩展文件

php -i | grep extension_dir //查看PHP扩展包存储目录,这里为extension_dir => /usr/local/lib/php/pecl/20160303 => /usr/local/lib/php/pecl/20160303ls /usr/local/lib/php/pecl/20160303 //查看目录中是否有mongodb.so文件

编辑php.ini,在extension区域添加mongodb扩展

extension=mongodb.so

 注意:扩展的名称是mongodb.so,不是mongo.so。

查看PHP的mongodb扩展模块是否已经成功安装

php -m | grep mongodb

如果在直接结果中看到mongodb,就说明已经安装成功。

或着,重启php-fpm,然后执行phpinfo()方法。若看到mongodb的内容,则说明安装成功。

在PHP中使用mongodb扩展

在安装完成PHP的mongodb的扩展后,在composer.json文件的require块中添加"mongodb/mongodb": "^1.4"。然后,再通过composer命令加载mongodb PHP版本客户端的扩展包,命令如下所示:

composer require mongodb/mongodb

结果报了如下的错误:

Using version ^1.4 for mongodb/mongodb./composer.json has been updatedLoading composer repositories with package informationUpdating dependencies (including require-dev)Your requirements could not be resolved to an installable set of packages.  Problem 1    - mongodb/mongodb 1.4.2 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb has the wrong version (1.4.3) installed.    - mongodb/mongodb 1.4.2 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb has the wrong version (1.4.3) installed.    - mongodb/mongodb 1.4.1 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb has the wrong version (1.4.3) installed.    - mongodb/mongodb 1.4.0 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb has the wrong version (1.4.3) installed.    - Installation request for mongodb/mongodb ^1.4 -> satisfiable by mongodb/mongodb[1.4.0, 1.4.1, 1.4.2].  To enable extensions, verify that they are enabled in your .ini files:    - /usr/local/etc/php/7.1/php.ini    - /usr/local/etc/php/7.1/conf.d/ext-opcache.ini  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.Installation failed, reverting ./composer.json to its original content.

分析发现,是安装的mongodb扩展版本太低。于是,改为1.5.3版本(mongodb-1.5.3.tgz),重新操作一遍,再次通过composer命令加载mongodb PHP版本客户端的扩展包,就好了。具体信息如下:

sing version ^1.4 for mongodb/mongodb./composer.json has been updatedLoading composer repositories with package informationUpdating dependencies (including require-dev)Package operations: 5 installs, 12 updates, 1 removal  - Removing aliyuncs/oss-sdk-php (v2.3.0)  - Updating league/flysystem (1.0.48 => 1.0.49): Downloading (100%)  - Installing ralouphie/getallheaders (2.0.5): Loading from cache  - Updating guzzlehttp/psr7 (1.4.2 => 1.5.0):  Checking out 53662d6688  - Installing symfony/contracts (v1.0.1): Downloading (100%)  - Updating symfony/translation (v4.1.7 => v4.2.0):  Checking out ff9a878c9b  - Updating nesbot/carbon (1.34.3 => 1.36.1):  Checking out 63da8cdf89  - Updating symfony/dom-crawler (v4.1.7 => v4.2.0):  Checking out 7438a32108  - Updating symfony/browser-kit (v4.1.7 => v4.2.0):  Checking out db7e59fec9  - Updating symfony/console (v4.1.7 => v4.2.0):  Checking out 4dff24e5d0  - Updating symfony/css-selector (v4.1.7 => v4.2.0):  Checking out aa9fa526ba  - Updating symfony/event-dispatcher (v4.1.7 => v4.2.0):  Checking out 9b788b5f7c  - Updating symfony/finder (v4.1.7 => v4.2.0):  Checking out e53d477d7b  - Updating symfony/process (v4.1.7 => v4.2.0):  Checking out 2b341009cc  - Updating symfony/yaml (v4.1.7 => v4.2.0):  Checking out c41175c801  - Installing library/aliyun-oss-php-sdk (v2.3.0): Cloning 6e801c85b9 from cache  - Installing mongodb/mongodb (1.4.2): Downloading (100%)  - Installing justinrainbow/json-schema (5.2.7): Downloading (100%)symfony/contracts suggests installing psr/cache (When using the Cache contracts)symfony/contracts suggests installing psr/container (When using the Service contracts)symfony/contracts suggests installing symfony/cache-contracts-implementation ()symfony/contracts suggests installing symfony/service-contracts-implementation ()Package phpunit/dbunit is abandoned, you should avoid using it. No replacement was suggested.Writing lock fileGenerating autoload files

以上是“mac下PHP如何安装mongodb的扩展”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯