Macにphp mongodbをインストールする方法

藏色散人
リリース: 2023-03-14 17:22:01
オリジナル
2793 人が閲覧しました

Mac に php mongodb をインストールする方法: 1. php の mongodb 拡張機能をダウンロードします; 2. インストール パッケージを解凍します; 3. 解凍ディレクトリに入り、phpize を実行し、拡張機能をインストールするための環境を準備します; 4 . mongodb の php 拡張機能をインストールしてコンパイルします ;5. 拡張機能領域に 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 からダウンロードし (このパッケージの有効期限が切れているため)、コマンド ラインで次のコマンドを実行します:

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 コマンドを使用してインストールと構成を行い、次に make && make install を使用してコンパイルとインストールを行います。コマンドは次のとおりです:

 ./configure --with-php-config=/usr/local/php/bin/php-config
 make && make install
ログイン後にコピー

5. .so 拡張子ファイルが生成されているかどうかを確認しますPHP 拡張ディレクトリ内

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 を編集し、拡張領域に mongodb 拡張を追加します

extension=mongodb.so
ログイン後にコピー

注: 拡張の名前は mongodb.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をインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート