ホームページ  >  記事  >  バックエンド開発  >  PHP が mongodb に接続できない場合の対処方法

PHP が mongodb に接続できない場合の対処方法

藏色散人
藏色散人オリジナル
2021-06-18 09:58:481843ブラウズ

php が mongodb に接続できない場合の解決策: 最初に root ロール アカウントを作成し、次に userAdmin を作成し、次にデータベース接続アカウントを作成し、最後に MongoClient を使用して接続します。

PHP が mongodb に接続できない場合の対処方法

この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

php リンクが表示されない場合はどうすればよいですかmongodb に失敗しますか?

php が mongodb 3.0 に接続できない問題解決

  • 一般的に使用されるいくつかのロール

  • root mongodb の最高権限
  • userAdmin自分で作成したデータベース アカウント管理権限
  • 読み取り読み取り専用権限
  • read書き込み読み取り可能および書き込み可能
  • 遭遇したジョーク

# #データベースのアカウントを作成しましたが、PHP では接続できません。mongo を使用すると接続できますが、PHP では接続できません。

  • #正しい姿勢

##セキュリティの観点から、データベースのセキュリティを確保するために、Web アプリケーションにはデータベースに対する最低のアクセス許可を与えることがよくあります。読み取りのみに使用でき、書き込みには絶対に使用できません。

新しいデータベースの userAdmin を作成します (テスト)

use admin

db.createUser({
   user:'root',
   pwd:'root',
   roles:[
      {role:'root',db:'admin'}
   ]})

データベース接続アカウントを確立します

use test
db.createUser({
   user:'001say',
   pwd:'001say',
   roles:[
      {role:'userAdmin',db:'test'}
   ]})

このようにして、読み取り権限のあるsay001アカウントを取得します。

MongoClientを使用して接続する場合、次の形式が必要になる場合があります

use test
db.auth('001say','001say')
db.createUser({
   user:'say001',
   pwd:'say001',
   roles:[
      {role:'read',db:'test'}
   ]})
接続でデータベースを直接指定する必要があります。指定しない場合、MongoClientはデフォルトでは管理データベース。権限が不十分なため、当然、接続は失敗します。

フォローアップ

2 番目の手順は不可欠です。 . 直接使用する場合、root 権限で作成されたアカウントはテスト データベース

に接続できません。

Mongodb は、コレクションに対する操作に対する最小限の権限を備えた、非常に詳細な権限管理を提供します。
    それでも接続できない場合は、最新のドライバーが必要になる可能性があります。 pecl
  • 同様の問題が発生した場合は、お手伝いできることを願っています~~

    この記事は純粋に手書きです。間違いがある場合は、修正するために私に連絡してください~~ありがとう
推奨学習: 「

PHP ビデオ チュートリアル >>

以上がPHP が mongodb に接続できない場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。