2011-12-22 2 views
1

을 받고 나는이 루비 스크립트 (test.rb)이 있습니다PHP에서 루비 스크립트를 실행하고 출력

print "hello" 

을 그리고 나는이 PHP 스크립트 (test.php)이 : 나는 지금

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

을 이 방법 CLI에서 내 PHP 스크립트를 호출

php test.php 

그리고 더 출력을 얻을

(그것은 "안녕하세요"인쇄해야합니다)

왜?

+0

당신이 세미콜론을 놓친 건가 컴퓨터에서 루비 스크립트와 PHP 같은 폴더에 설치 루비 모두 있는지 확인 귀하의 PHP 파일에? –

+0

PHP에 대해서는 모르겠지만, 아마도'puts "Hello"를 원할 것입니다. 'print'는 개행을 포함하지 않습니다. – Linuxios

답변

5

system은 루비 스크립트의 출력을 캡처합니다.

당신이 수행 할 수 있습니다 :

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

그래, 좋아, 에코가 잘 작동하지 않고, 내가 사용하고 있던 PHP CLI가 잘못 구성되어 있지만 지금은 실제 문제와 함께 다른 질문을 엽니 다 : http://stackoverflow.com/questions/8604637/executing-sass-script -from-php-and-getting-output –

+0

root가 아닌 다른 사용자와 함께 실행하려면 어떻게해야합니까? 이 코드는 로컬 시스템에서 완벽하게 실행되고 있지만, watir은 루트 사용자를 통한 실행을 지원하지 않습니다. @RageZ – VipinS

0

그것의 나를 위해 일하고,

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

watur와 headless가 root 사용자로 지원하지 않으므로이 스크립트를 다른 사용자와 함께 실행하는 방법을 제안 해 주실 수 있습니까? – VipinS

관련 문제