如何从PHP代码运行ruby文件

tried these commands

exec("ruby helloword.rb");
system ("ruby helloword.rb");

Running php on windows server 2012R2 I just want the ruby class to run as it will read and write results from text file and than i can user those text files. Is there any simple way to get this done. Tried almost everything on stackoverflow. So please dont mark this as duplicate.

you can use load method of Kernel. see the documentation at http://ruby-doc.org/core-2.2.1/Kernel.html#method-i-load

I am not sure if this is what you looking for but see below :)

Se example below:

<?php
$descriptorspec = array(
   0 => array("pipe", "r"),  // stdin is a pipe that the child will read from
   1 => array("pipe", "w"),  // stdout is a pipe that the child will write to
   2 => array("file", "./error-output.txt", "a") // stderr is a file to write to
);
$process = proc_open('ruby ./test.rb', $descriptorspec, $pipes);

if (is_resource($process)) {
    // $pipes now looks like this:
    // 0 => writeable handle connected to child stdin
    // 1 => readable handle connected to child stdout
    // Any error output will be appended to /tmp/error-output.txt

    fwrite($pipes[0], 'hello world');
    fclose($pipes[0]);

    echo stream_get_contents($pipes[1]);
    fclose($pipes[1]);

    // It is important that you close any pipes before calling
    // proc_close in order to avoid a deadlock
    $return_value = proc_close($process);

    echo "command returned $return_value
";
}
?>

Save it as Save this as "test.php":

source:

Run Ruby/Python from PHP Code

Here is another good example:

//PHP script to execute ruby scripts when the host doesn't have a cgi handler for .rb
//Use with this .htaccess:

/*
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*)\.rb$ handler.php?rb=$1.rb [NC,QSA]
*/

$file = $_GET['rb'];

if(in_array($file, scandir('.')))
{
foreach($_REQUEST as $key=>$value) if($key != 'rb') $args .= " $key=".urlencode($value);
echo exec(escapeshellcmd('./'.$file.$args));
}
else
{
echo '404- Page not found';
}
?>

Regards

Daniel

It worked by adding exec("filename"); Before it was written something like this exec('ruby filename'); Thank you very much everyone for their responses.