2012-04-16 24 views
1

まず最初に、私はあなたに教えてください、 私はRubyについて一言も知らないと言います。Rubyファイルの結果をPHPページで取得する方法は?

しかし、私はネットからダウンロードされた1つのルビーファイルを持っています。

しかし、そのファイルは私に私のPHPページに必要な答えを与えるでしょう。

Rubyファイルに引数を渡すだけで、スクリプトが実行され、その出力が私のPHPページに戻ってくることがあります。

またはI PHPでそのルビーのファイルを変換する必要があります(その可能な場合も、私は知らないこと)

そして、どのようにファイルをRubyと私のサーバー上でそのファイルを実行するために値を渡すことができますし、私のPHPページに結果を得る?

+0

どの形式でルビスクリプトの出力が行われますか? –

+0

文字列... 可能であればtxtファイルに保存します。そのあと、そのテキストファイルからPHPファイルに移動します。 – Nitz

+0

それはシンプルで、ちょうど@sergioの通りです。 –

答えて

3

まず、ルビーをインストールする必要があります。最も簡単な方法は、あなたのOSのパッケージマネージャを使って "ストック"ルビーをインストールすることです(これはubuntuではsudo apt-get install rubyのようなものです)。しかし、最近ルビーコミュニティはRVMのようなツールを使用して、複数のルビーを簡単にインストールして使用する傾向があります。あなたの場合、これは過剰(IMHO)です。

その後、ルビスクリプトに必要なすべての宝石(依存関係)をインストールする必要があります。あなたはソースを読むことでこれを理解することができます。通常、すべての依存関係は、先頭にrequire 'xxx'の形式で表示されます。通常、requireの名前は宝石の名前です。したがって、require 'nokogiri'が表示された場合は、gem install 'nokogiri'を実行する必要があることがわかります。これでうまくいかない場合は、必要なモジュールがruby(たとえばruby 1.9バンドルrubygemsjson)にバンドルされているか、実際の宝石の名前が異なります。 Googleはあなたの友人です。

このスクリプトをPHPから呼び出すことができます。私はあなたがこれを呼び出すsystem()を使用することができると信じています。

0

php.net/manual/en/function.shell-exec.php あなたがコマンドを実行し、出力を取得しますが、それはルビーをインストールしているために必要な可能性が.. は、JSON、またはXMLの代わりにルビーのファイルを使用するようにしてください。

関連する問題