溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mac下PHP如何安裝mongodb的擴(kuò)展

發(fā)布時(shí)間:2021-12-31 11:32:46 來源:億速云 閱讀:457 作者:小新 欄目:編程語言

這篇文章主要介紹mac下PHP如何安裝mongodb的擴(kuò)展,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

mac安裝php mongodb的方法:1、下載php的mongodb擴(kuò)展;2、解壓安裝包;3、進(jìn)入解壓目錄,運(yùn)行phpize,為安裝擴(kuò)展準(zhǔn)備環(huán)境;4、安裝編譯mongodb的php擴(kuò)展;5、在extension區(qū)域添加mongodb擴(kuò)展。

mac下PHP如何安裝mongodb的擴(kuò)展

本文操作環(huán)境:macOS10.13.3系統(tǒng)、mongodb1.4.3&&PHP7.1.16版本、MacBook Air 2019電腦

mac下PHP安裝mongodb的擴(kuò)展:

phpize路徑為/usr/local/php/bin/phpize。

php-config路徑為 /usr/local/php/bin/php-config。

1.首先下載php的mongodb擴(kuò)展

從http://pecl.php.net/package/mongodb這個(gè)網(wǎng)址下載mongodb的擴(kuò)展源碼包(注意:不要從http://pecl.php.net/package/mongo下載,因?yàn)檫@個(gè)package已經(jīng)過期),在命令行執(zhí)行如下命令:

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

2.解壓安裝包

 tar -zxvf  mongodb-1.4.3.tgz

3.進(jìn)入解壓目錄,運(yùn)行phpize,為安裝擴(kuò)展準(zhǔn)備環(huán)境

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

4.安裝編譯mongodb的php擴(kuò)展

第3步執(zhí)行完成后,在當(dāng)前目錄下就生成了configure文件。接下來,使用./configure命令進(jìn)行安裝配置;然后,使用make && make install進(jìn)行編譯安裝,命令如下:

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

5. 查看是否在PHP擴(kuò)展目錄中已經(jīng)生成.so擴(kuò)展文件

php -i | grep extension_dir //查看PHP擴(kuò)展包存儲(chǔ)目錄,這里為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區(qū)域添加mongodb擴(kuò)展

extension=mongodb.so

 注意:擴(kuò)展的名稱是mongodb.so,不是mongo.so。

7.查看PHP的mongodb擴(kuò)展模塊是否已經(jīng)成功安裝

php -m | grep mongodb

如果在直接結(jié)果中看到mongodb,就說明已經(jīng)安裝成功。

或著,重啟php-fpm,然后執(zhí)行phpinfo()方法。若看到mongodb的內(nèi)容,則說明安裝成功。

8. 在PHP中使用mongodb擴(kuò)展

在安裝完成PHP的mongodb的擴(kuò)展后,在composer.json文件的require塊中添加"mongodb/mongodb": "^1.4"。然后,再通過composer命令加載mongodb PHP版本客戶端的擴(kuò)展包,命令如下所示:

composer require mongodb/mongodb

結(jié)果報(bào)了如下的錯(cuò)誤:

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.

分析發(fā)現(xiàn),是安裝的mongodb擴(kuò)展版本太低。于是,改為1.5.3版本(mongodb-1.5.3.tgz),重新操作一遍,再次通過composer命令加載mongodb PHP版本客戶端的擴(kuò)展包,就好了。具體信息如下:

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

以上是“mac下PHP如何安裝mongodb的擴(kuò)展”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI