2

OS X 10.5.8 上の MAMP 1.9.6 で最新の Mongo Driver を動作させようとしています。

コンパイル済みのリリースがないように思われるため、ソースから正常にビルドし、適切なディレクトリに含めて、Apache を再起動しました。

しかし、PHP は拡張子を認識しません。以前は正常に動作する 1.0.11 ドライバーを使用していましたが、Doctrines ODM が必要とするため、新しいバージョンが必要です。

1.2.10 mongo.so を 1.0.11 に置き換えて再起動すると、Apache mongo が使用可能になります。何が間違っているのかわかりません。

これを機能させるために、この動作または推測をした人はいますか?

更新: PHP エラー ログには次のように表示されます。

[01-Jun-2012 22:02:37] PHP Warning:  PHP Startup: mongo: Unable to initialize module
Module compiled with module API=20060613
PHP    compiled with module API=20090626
These options need to match
 in Unknown on line 0

私はそれが何を意味するのかよくわかりませんか?

2. 更新: の API バージョンをようやく同期できましたphpize

しかし、今はもうドライバーをビルドできません。

私は次のことを行います:

phpize
./configure
make
sudo make install

しかし、makeコマンドで大量の構文エラーが発生します。複数のヘッダー ファイルが見つからないようです。

最初のものは でzend_config.h、実際には他の 2 つのファイルがあります。

zend_config.nw.h
zend_config.w32.h

このファイルを取得するために MAMP コンポーネントをダウンロードしました。なぜ私はこれを見逃すのですか?そして、他にもたくさんあります。

PHP 5.3.5 を使用しています。これらのヘッダー ファイルを別のソースから取得する方法はありますか?

4

3 に答える 3

3

Mac OS X で MAMP を使用して MongoDB Web アプリを開発するの指示に従って、OS X 10.7.3 で php 5.3 を使用して MAMP 用の mongo.so を正常にビルドしました。

于 2012-06-14T19:50:44.813 に答える
2

私は歴史的な目的のためにこれを追加しています - 私はあなたが同じ問題のセットを持っているなら、あなたがこれをしたいと思うことを保証します.

個人的には、MAMP の php バージョンを、作成しようとしていた拡張機能のビルドでうまく動作させるのに非常に苦労しました。

問題は、MAMP が一般に拡張機能を追加するように実際に設定されておらず、mongo php ドライバーのコンパイル中に適切な場所にインストールされていないことであることがわかりました。そのため、次のチュートリアルに従いました追加の pecl および pear 拡張機能用に MAMP を準備します。

これらの手順に従って拡張機能を追加するために MAMP を準備したら、任意の拡張機能を簡単にインストールできます。

拡張機能の追加について話し始める部分で、sudo pecl install mongo を使用して、MAMP インターフェイスから apache を再起動します。

于 2013-08-03T13:38:32.883 に答える
0

PHP 5.3から5.4にアップグレードするときに同じ問題が発生し、次の手順で解決できました。

  1. php5-cliだけでなく、php5とphp5-commonもアップグレードしてください

  2. mongoドライブをアンインストールします

    sudo pecl uninstall mongo
    
  3. mongoドライバーを再インストールします

    sudo pecl install mongo
    
于 2012-12-27T19:40:32.530 に答える