站长家园(原代码之家)(www.adminjie.com)网站源码,微信源码,游戏源码,商业源码分享平台。
当前位置:网站首页 技术文章 网络编程 正文

mac 怎么安装php mongodb

时间:2022-01-04 [网络编程]作者:admin 浏览:6 次

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?

mac下PHP安装mongodb的扩展:

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

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

1.首先下载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

2.解压安装包

 tar -zxvf  mongodb-1.4.3.tgz

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

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

4.安装编译mongodb的php扩展

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

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

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

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

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

extension=mongodb.so

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

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

php -m | grep mongodb

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

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

8. 在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 updated
Loading composer repositories with package information
Updating 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 updated
Loading composer repositories with package information
Updating 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 file
Generating autoload files

推荐学习:《PHP视频教程

以上就是mac 怎么安装php mongodb的详细内容,更多请关注站长家园其它相关文章!

本文标签:  macphpmongodb扩展

转载请注明来源:mac 怎么安装php mongodb

本文永久链接地址:https://www.adminjie.com/post/7086.html

免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

附:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!

版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请:提交版权证明文件到邮箱 2225329873#qq.com(#换为@) 站长会进行审查之后,情况属实的会在三个工作日内为您删除。

  • 站长家园(原代码之家)会员升级
  • 最新文章
    • docker能用yum命令吗

      docker能用yum命令吗

      docker能用yum命令,docker容器内安装yum的方法:1、通过“apt-getupdate”更新apt-get指令;2、通过“apt-getins...

    • 如何解决docker telnet不通的问题

      如何解决docker telnet不通的问题

      dockertelnet不通的解决办法:1、查看配置文件;2、修改nginx配置文件的端口为80;3、重新加载即可。本文操作环境:centOS6.8系统、Do...

    • css怎样改变一个图片高度和宽度

      css怎样改变一个图片高度和宽度

      在css中,可以使用width和height属性来改变一个图片高度和宽度,只需要给图片元素添加“width:宽度值;height:高度值;”样式即可。width...

    • docker不能删除镜像怎么办

      docker不能删除镜像怎么办

      docker不能删除镜像的解决办法:1、删除REPOSITORY;2、删除IMAGEID;3、通过“dockerimages”查看镜像即可。本文操作环境:c...

    • css怎么实现图片放大缩小动画

      css怎么实现图片放大缩小动画

      方法:1、使用“@keyframes动画名称{}”规则和“transform:scale(缩放比例);”语句创建放大缩小动画;2、使用“图片元素{animat...

    热门文章