0

CentOS5.4マシンにMongoDBPHPドライバーが必要です。私のPHPバージョンは5.1.6です。RPMをダウンロードしてインストールしました。これにより、/ usr/binディレクトリにいくつかのファイルが作成されました。コピーしました

/usr/bin/mongo

/usr/lib/php/modules

これは、extension_dirがphpinfo();を実行するときに示したものです。

私も追加しました

extension=mongo.so

/etc/php.iniにあります。ただし、PHPスクリプトを実行すると、まだ

Mongo class not found.

ここで何が問題になっていますか?

また、私のphpinfo()はPHPバージョン5.1.6を示していますが、コマンドラインからPHPを実行すると5.3.3を示しています。それで何か問題がありますか?

前もって感謝します。

4

3 に答える 3

1

あなたはあなたのウェブサーバーとコマンドラインPHPが異なるバージョンを報告していると言っています。これらは異なる場所にインストールされる予定であり、それらの拡張機能は互いにAPI互換性がありません。

php_mongo拡張機能をインストールしたときに、コマンドラインphpを使用して、拡張機能をインストールするディレクトリを決定した可能性があります。

Webサーバーのphpバージョンに適したphp_mongoがあり、それが正しい拡張ディレクトリにあることを確認してください。(によって返されたphp.iniからディレクトリを取得しますphpinfo()

PHP5.1も何年も古くなっていることをご理解いただければ幸いです。古いバージョンを使用する特別な理由がない限り、より新しいバージョンへのアップグレードも検討する必要があります。

編集:

コメントを読んでください。「/usr/ bin / mongoはバイナリ実行可能ファイルですが、拡張子が.soではありません。そのまま/ usr / lib / php/modulesにコピーします。」

ダメダメダメ!:)

これはmongoコマンドラインクライアントです。これはPHP拡張機能ではありません!

を実行しfind /* -name "mongo.so"て、インストーラーがファイルを配置した場所を確認できます。これにより、インストールされたPHPのバージョンもわかります。

于 2012-07-09T11:01:43.203 に答える
1

MongoDBサーバーのRPMパッケージを、MongoDBPHPドライバーをインストールするための要件と混同しているように見えます。PHPドライバーは、PHPアプリケーションからサーバーへのアクセスを提供し、コマンドラインツールをインストールしません。

于 2012-07-09T11:02:34.037 に答える
0

httpdを再起動してください!

yum service httpd restart
于 2012-07-09T10:54:23.827 に答える