お久しぶりです。
解決方法だけを知りたい人は、最後の方まで呼び飛ばしちゃってください。
私、メインの開発環境をMaxOS X Lion にMAMPをインストールして使っています。
PHPでMongoDB使うために、pecl使いたかったんですよ。
でも、ずーとエラーに悩まされていました。
$ pecl install mongo
って実行してみても・・・。
make: *** [php_mongo.lo] Error 1
ずっとこんな感じでした・・・。
google先生に聞いてみたら、世界的にかなり同じ事でお困りのご様子。
しかも、全部英語・・・。
幸いな事に、昨日までは、まあいいやってずっと諦めていたんです。
必要なものは、こちらからダウンロード出来るから。
https://github.com/mongodb/mongo-php-driver/downloads
1.0.11っていう少し古いバージョンなんですが、問題なく使えていました。
ところが!!
解決方法だけを知りたい人は、最後の方まで呼び飛ばしちゃってください。
私、メインの開発環境をMaxOS X Lion にMAMPをインストールして使っています。
PHPでMongoDB使うために、pecl使いたかったんですよ。
でも、ずーとエラーに悩まされていました。
$ pecl install mongo
って実行してみても・・・。
make: *** [php_mongo.lo] Error 1
ずっとこんな感じでした・・・。
google先生に聞いてみたら、世界的にかなり同じ事でお困りのご様子。
しかも、全部英語・・・。
幸いな事に、昨日までは、まあいいやってずっと諦めていたんです。
必要なものは、こちらからダウンロード出来るから。
https://github.com/mongodb/mongo-php-driver/downloads
1.0.11っていう少し古いバージョンなんですが、問題なく使えていました。
ところが!!
本日、Symfony2の環境を作り直して、vendorをinstallし直したのですよ。
そしたら、問題発生です。
Fatal error: Call to undefined method MongoCollection::setSlaveOkay()
って見慣れないエラーが発生しています。
調べてみると、PHPのMongo Driverが古いのが原因であることがわかりました。
http://www.php.net/manual/es/mongocollection.getslaveokay.php
1.1.0以上使ってねって書いてあります。
・・・。
困り果てました。
Facebookで困っている事を書いたら、MacPortsで入れましたってご意見いただいたり・・・。
普通に私が欲しいのは、最新のmongo.soだけなんですよ・・・。
そして、ようやく一件の記事を発見しました。
http://www.lullabot.com/articles/installing-php-pear-and-pecl-extensions-on-mamp-mac-os-x-107-lion
この方法で解決できますが、英語読むのめんどくさいっていうあなたのご要望に応えます。
phpやpecl、pearのパスがMAMPのものになっているかどうかっていうあたりは飛ばします。
ちなみに、パスの変更の仕方は、元記事読めば解決出来ます。
まず、MAMP_componentsなるものが必要になります。
私が落としたのは2.0.2というバージョンです。
http://www.mamp.info/en/downloads/index.html
ここからダウンロード可能です。
zipを解凍すると、たくさんのtar.gzファイルがあります。
私は、PHP5.3.6を使っているので、php-5.3.6.tar.gzを解凍します。
解凍するとphp-5.3.6というフォルダができると思います。
これをMAMPフォルダにコピーしましょう。
コピー先は次の通りです。
/Applications/MAMP/bin/php/php5.3.6/include
ついでにphp-5.3.6というフォルダもphpに変えましょう。
/Applications/MAMP/bin/php/php5.3.6/include/php
こんな感じになると思います。
そしたら、ターミナルを起動して、このディレクトリまで移動しちゃいましょう。
$ cd /Applications/MAMP/bin/php/php5.3.6/include/php
こんな感じですね。ちなみに、$は入力しなくていいです。(念のため)
続いて、コマンドを実行します。
$ ./configure
なにやら、ものすごい勢いで画面がスクロールしていくと思います。
大丈夫大丈夫。正常です。
たぶん、最後にこんなメッセージが出ていれば成功していると思います。
Thank you for using PHP.
これで、peclが使えるはずです。
さっそく、mongoをインストールしてみましょう。
$ pecl install mongo
今後は無事にmakeも出来たんじゃないかと思います。
後は、php.iniにmongo.soを追加してください。
私は、これで1.2.10にバージョンをあげる事が出来ました。
Fatal error: Call to undefined method MongoCollection::setSlaveOkay()
この問題ももちろん解決です。
いかがでしたか?
皆さんの環境でも解決するとうれしいです。
そしたら、問題発生です。
Fatal error: Call to undefined method MongoCollection::setSlaveOkay()
って見慣れないエラーが発生しています。
調べてみると、PHPのMongo Driverが古いのが原因であることがわかりました。
http://www.php.net/manual/es/mongocollection.getslaveokay.php
1.1.0以上使ってねって書いてあります。
・・・。
困り果てました。
Facebookで困っている事を書いたら、MacPortsで入れましたってご意見いただいたり・・・。
普通に私が欲しいのは、最新のmongo.soだけなんですよ・・・。
そして、ようやく一件の記事を発見しました。
http://www.lullabot.com/articles/installing-php-pear-and-pecl-extensions-on-mamp-mac-os-x-107-lion
この方法で解決できますが、英語読むのめんどくさいっていうあなたのご要望に応えます。
phpやpecl、pearのパスがMAMPのものになっているかどうかっていうあたりは飛ばします。
ちなみに、パスの変更の仕方は、元記事読めば解決出来ます。
まず、MAMP_componentsなるものが必要になります。
私が落としたのは2.0.2というバージョンです。
http://www.mamp.info/en/downloads/index.html
ここからダウンロード可能です。
zipを解凍すると、たくさんのtar.gzファイルがあります。
私は、PHP5.3.6を使っているので、php-5.3.6.tar.gzを解凍します。
解凍するとphp-5.3.6というフォルダができると思います。
これをMAMPフォルダにコピーしましょう。
コピー先は次の通りです。
/Applications/MAMP/bin/php/php5.3.6/include
ついでにphp-5.3.6というフォルダもphpに変えましょう。
/Applications/MAMP/bin/php/php5.3.6/include/php
こんな感じになると思います。
そしたら、ターミナルを起動して、このディレクトリまで移動しちゃいましょう。
$ cd /Applications/MAMP/bin/php/php5.3.6/include/php
こんな感じですね。ちなみに、$は入力しなくていいです。(念のため)
続いて、コマンドを実行します。
$ ./configure
なにやら、ものすごい勢いで画面がスクロールしていくと思います。
大丈夫大丈夫。正常です。
たぶん、最後にこんなメッセージが出ていれば成功していると思います。
Thank you for using PHP.
これで、peclが使えるはずです。
さっそく、mongoをインストールしてみましょう。
$ pecl install mongo
今後は無事にmakeも出来たんじゃないかと思います。
後は、php.iniにmongo.soを追加してください。
私は、これで1.2.10にバージョンをあげる事が出来ました。
Fatal error: Call to undefined method MongoCollection::setSlaveOkay()
この問題ももちろん解決です。
いかがでしたか?
皆さんの環境でも解決するとうれしいです。