2011-12-22 8 views
1

を取得私はこのRubyスクリプト(test.rb)があります。PHPからRubyスクリプトを実行すると、出力

print "hello" 

をそして私はこのPHPスクリプト(test.phpを)持っている:私は今

$cmd = "ruby test.rb"; 
system($cmd); 

をCLIからこのように私のPHPスクリプトを呼び出します。(それは「こんにちは」印刷する必要があります)

php test.php 

そして、私は何も出力を得るん

なぜですか?

+0

をチェックあなたはセミコロンを欠場あなたのPHPファイルで? –

+0

私はPHPについてはわかりませんが、おそらく 'puts" Hello "が必要です。 'print'は改行を含みません。 – Linuxios

答えて

5

systemは、rubyスクリプトの出力をキャプチャします。

あなたがしたいかもしれません。私のために働い

$cmd = "ruby test.rb"; 
echo system($cmd); 
+0

はい、エコーがうまくいきません。私が使用していたPHP CLIは誤って構成されていましたが、今実際の問題で別の質問を開きました:http://stackoverflow.com/questions/8604637/executing-sass-script -from-php-and-get-output –

+0

root以外の別のユーザーで実行したい場合はどうなりますか?このコードはローカルシステム上では完全に実行されていますが、watirはrootユーザーを介した実行をサポートしていません。 @RageZ – VipinS

0

その、あなたのマシンにルビーのスクリプトとPHP同じフォルダ内およびインストールルビーの両方かどうか

<?php 
$cmd = "ruby test.rb";  
system($cmd); 
?> 
+0

あなたはwaturとheadlessがrootユーザーでサポートしていないため、このスクリプトを別のユーザーと一緒に実行することをお勧めしますか? – VipinS

関連する問題