web-dev-qa-db-ja.com

Mongodbをインストールする最も簡単な方法PHP Ubuntu 13.10(saucy)の拡張機能?

Ubuntu 13.10(生意気なサンショウウオ)を使用していますが、Sudo apt-get install php5-mongoは、mongodbデータベースドライバーをインストールするのに十分です。

しかし、そのような運はありません。 php5-fpmを使用しているため、最初にphp5enmod mongoしかし、それでもエラーが発生します:

include(MongoClient.php): failed to open stream: No such file or directory

代わりに、インストールするために以下を実行する必要があります(より多くのディスク容量を使用します)。

 Sudo apt-get install php5-dev make php-pear
 Sudo pecl install mongo
 Sudo echo "extension=mongo.so" | tee /etc/php5/mods-available/mongo.ini

私の質問は、なぜSudo apt-get install php5-mongo 足りる? Ubuntuリポジトリに問題がありますか? ubuntuリポジトリを調べて、使用しているバージョンまたはMongoClient.phpは含まれません。私は「ubuntu:saucy "ベースとしてのdockerイメージ。デフォルトではユニバースが含まれています。

20
Tom

Ubuntu 14.04では、Sudo apt-get install php5-mongoは、完全に機能するmongo PHP拡張機能になります。したがって、問題を引き起こすパッケージングの問題がUbuntu 13.10にあるだけだと思います。

ソリューション:Ubuntu 13.10の代わりにUbuntu 14.04 LTSを使用します。

ただし、Ubuntu 13.10を使用するhaveがある場合は、php5-mongo Ubuntuパッケージ、代わりにpecl経由でmongo拡張機能をインストールします。

Sudo apt-get install php5-dev make php-pear
Sudo pecl install mongo
Sudo echo "extension=mongo.so" | Sudo tee /etc/php5/mods-available/mongo.ini
35
Tom

Ubuntuでphp5のmongoDBドライバーをインストールする最も簡単な方法は、次のコマンドを使用することです。

Sudo apt-get install php5-mongo

注意、ドライバーは正しくインストールされていますが、まだロードされていないため、Apacheを使用してサーバーを完全に再起動する必要があります。

Sudo service Apache2 restart
34

PHP用にmongo DBをインストールする良い方法もあります。 Ubuntu 14.04LTSがあります。

open synaptic package manager and search "mongo"

これらのパッケージを選択してインストールします。

  • php-horde-mongo
  • php-mongo

synaptic package manager

[適用]をクリックしてパッケージをインストールします。

次に、このコマンドを使用してApache2を再起動します。

Sudo service Apache2 restart

モンゴをテストする

mongo-test.phpという名前のPHPファイルを作成し、このコードをそこに貼り付けます。

<?php
   // connect to mongodb
   $m = new MongoClient();

   echo "Connection to database successfully";
   // select a database
   $db = $m->mydb;

   echo "Database mydb selected";
?>

このURLをテストします http://localhost/mongo-test.php

3

これはUbuntuのパッケージングの問題のようです。

_apt-get_経由でPHP5-fpmもインストールしましたか? PHP5のインストール方法と、php5-mongoパッケージが更新しようとしているphp.iniファイルの間に切断があるようです。

include(MongoClient.php): failed to open streamエラーに関しては;オートローダーが原因です。拡張機能が有効になっていないときに_new MongoClient_を実行すると、_<classname>.php_というファイルをインクルードしようとするオートロードにヒットします

2
bjori