r — как я могу запустить php + rscript на сервере Linux? это возможно? И если возможно, то как?

    //poorman.php
<?php
echo "<form action='poorman.php' method='get'>";
echo "Number values to generate: <input type='text' name='N' />";
echo "<input type='submit' />";
echo "</form>";

if(isset($_GET['N']))
{
$N = $_GET['N'];

// execute R script from shell
// this will save a plot at temp.png to the filesystem
exec(".\R\R-3.1.3\bin\Rscript .\R\R-3.1.3\bin\my_rscript.R $N");

// return image tag
$nocache = rand();
echo("<img src='temp.png?$nocache' />");
}
?>
//my_rscript.R
args <- commandArgs(TRUE)

N <- args[1]
x <- rnorm(N,0,1)

png(filename="temp.png", width=500, height=500)
hist(x, col="lightblue")
dev.off()

Это простая программа, в которой r-скрипт включен в php и запускается в localhost. Но я хотел запустить этот код на сервере Linux, так как это возможно, кто-нибудь может объяснить мне, пожалуйста ..?

0

Решение

Debian или Ubuntu Сначала установите R:

sudo apt-get update
sudo apt-get install r-base

Тогда вы получили R на вашем сервере.

Напишите свой R скрипт new.r

Затем выполните shell_exec('Rscript new.r');

Как насчет передачи параметра в R?

Ссылаться на Как я могу прочитать параметры командной строки из сценария R?

Содержание new.r:

options(echo=FALSE)
args <- commandArgs(trailingOnly = TRUE)
print(args)

shell_exec('Rscript new.r Hello'); вернусь:

[1] "Hello"
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]