您好,登錄后才能下訂單哦!
這篇文章主要介紹mac下PHP如何安裝mongodb的擴展,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
mac安裝php mongodb的方法:1、下載php的mongodb擴展;2、解壓安裝包;3、進入解壓目錄,運行phpize,為安裝擴展準備環境;4、安裝編譯mongodb的php擴展;5、在extension區域添加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。
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
以上是“mac下PHP如何安裝mongodb的擴展”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。