Home > Article > Backend Development > How to install php mongodb on mac
How to install php mongodb on mac: 1. Download the mongodb extension of php; 2. Unzip the installation package; 3. Enter the decompression directory, run phpize, and prepare the environment for installing the extension; 4. Install and compile the php extension of mongodb ;5. Add the mongodb extension in the extension area.
The operating environment of this article: macOS10.13.3 system, mongodb1.4.3&&PHP7.1.16 version, MacBook Air 2019 computer
mac How to install php mongodb?
PHP installation mongodb extension under mac:
phpize path is /usr /local/php/bin/phpize.
php-config path is /usr/local/php/bin/php-config.
1. First download the mongodb extension of php
Download the mongodb extension source code package from http://pecl.php.net/package/mongodb (note: do not download it from Download from http://pecl.php.net/package/mongo (because this package has expired), execute the following command on the command line:
wget http://pecl.php.net/get/mongodb-1.4.3.tgz
2. Unzip the installation package
tar -zxvf mongodb-1.4.3.tgz
3. Enter the decompression directory, run phpize, and prepare the environment for installing the extension
cd mongodb-1.4.3 /usr/local/php/bin/phpize
4. Install and compile the php extension for mongodb
After the completion of step 3, the configure file will be generated in the current directory. Next, use the ./configure command to install and configure; then, use make && make install to compile and install. The command is as follows:
./configure --with-php-config=/usr/local/php/bin/php-config make && make install
5. Check whether the .so extension file has been generated in the PHP extension directory
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. Edit php.ini and add the mongodb extension in the extension area
extension=mongodb.so
Note: The name of the extension is mongodb.so, not mongo.so.
7. Check whether the PHP mongodb extension module has been successfully installed
php -m | grep mongodb
If you see mongodb in the direct result, it means it has been installed successfully.
Or, restart php-fpm, and then execute the phpinfo() method. If you see the content of mongodb, the installation is successful.
8. Use mongodb extension in PHP
After installing the mongodb extension for PHP, add "mongodb/mongodb": "^1.4" in the require block of the composer.json file . Then, load the extension package of the mongodb PHP version client through the composer command. The command is as follows:
composer require mongodb/mongodb
The result is the following error:
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.
Analysis found that it is the installed mongodb extension version too low. So, change to version 1.5.3 (mongodb-1.5.3.tgz), do it again, and load the expansion package of the mongodb PHP version client through the composer command again, and it will be fine. The specific information is as follows:
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
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to install php mongodb on mac. For more information, please follow other related articles on the PHP Chinese website!