1

PHP で Cassandra に接続するのは本当に面倒です。Apache と DataStax のドキュメントは、Windows ユーザー向けに非常に貧弱に書かれています。

私はChocolatey経由でThriftをインストールしました(私は信じています!)。しかし、thrift を使用して Cassandra の php コードをコンパイルすることはまだできません 。

このリンクを見れば、

  1. これで、thrift を使用して Cassandra の php コードをコンパイルできるようになりました。

それで、それは何でcassandra.thrift、どこから来たのですか?? 中に何を入れればいいですか??

指示に正確に従うと、このエラーが発生します。

入力ファイルを開けませんでした: d:\cassandra\interface\cassandra.thrift

ここに画像の説明を入力

それで、何が起こっているのですか?

どうすればこれを機能させることができますか?

DataStax PHP Driver for Apache Cassandraをインストールしようとしましたが、そのドキュメントは最悪です。

MongoDB のように PHP モジュールが Cassandra に付属していないのはなぜですか? 私が見つけた独立したドライバーのほとんどは時代遅れであり、サポートされていないか、放棄されています。

編集:

READMEから、

PHP 拡張機能をインストールする

pecl を使用したインストール

PHP ドライバーは、公式の PECL リポジトリに公開されていません。提供された package.xml ファイル パスを pecl install コマンドの引数として指定することにより、pecl を使用してインストールすることもできます。

C/C++ ドライバーの 2.0 バージョンをインストールします。

not published to the official PECL repository yes-はい、それともまだですか?

ビルド依存関係の取得

CMake
Git
ActiveState Perl
Python v2.7.x

ダウンロードしてインストールしました。じゃあ何?ドライバーのビルドでは、

インストールされている Visual のバージョンを検出するバッチ スクリプトが作成されました。

何?バッチスクリプトはどこから突然来たのですか??

それで、

最初に、「コマンド プロンプト」(または Windows SDK コマンド プロンプト) を開いてバッチ スクリプトを実行する必要があります。

使用法: VC_BUILD.BAT [オプション...]

--DEBUG                           Enable debug build
--RELEASE                         Enable release build (default)
--DISABLE-CLEAN                   Disable clean build

....

これらの「--」の束は何のためですか?

32 ビット共有ライブラリをビルドするには:

VC_BUILD.BAT --X86 64 ビット共有ライブラリをビルドするには:

VC_BUILD.BAT --X64

.BATはどこから来たのですか? 中に何を入れればいいですか?どこから実行すればよいですか??

結局のところ、これらのビルドの依存関係は何のためにあるのでしょうか? それらをどのように使用しますか??

誰かが上記のガイドよりも適切なガイドを書いてくれることを願っています - それは恐ろしいことです! (MongoDB のガイドを比較すると、はるかに優れており、専門的です)

編集2:

デスクトップから .bat を実行したときの最初のエラー、

ここに画像の説明を入力

すでに git をインストールしていますが、まだこのエラーが発生しています。

ここに画像の説明を入力

上記の git の問題を修正した後、新しい問題が発生しました。そこでフリーズしただけで、何も起こりません。

ここに画像の説明を入力

4

3 に答える 3

3

IDL ファイルcassandra.thriftは通常、cassandra パッケージの一部ですが、上記のリンクから見つけることができます。リンクはトランクを指しています。別のバージョンが必要な場合があります。

そのファイルの適切なバージョンをダウンロードした後、またはフォルダー内のダウンロードした Cassandra パッケージでそれを見つけた後、手元interfaceのドキュメントに記載されているようにコードを生成します。残りは簡単なはずです。

MongoDB のように PHP モジュールが Cassandra に付属していないのはなぜですか? 私が見つけた独立したドライバーのほとんどは時代遅れであり、サポートされていないか、放棄されています。

それについてはよくわかりませんが、生の Thrift API を使用する代わりに、CQL がしばらくの間大幅に促進されているという事実は、後者は複雑なタスクですが、CQL はより使いやすいということです。このようになっている主な要因。多かれ少なかれ、別のラッパーの必要性がなくなります。


PS:念のため:

thrift.exe --gen php d:\cassandra\interface\cassandra.thrift

could not open input file cassandra.thrift

もちろん、正しいドライブ、フォルダ、およびファイルを指していますよね?

于 2015-07-28T11:53:10.350 に答える