我是PHP的新手,我想在PHP中运行Rscript。我尝试了这里提到的方法http://www.r-bloggers.com/integrating-php-and-r/,但它有用。我在窗口中使用wamp服务器。表单加载但是一旦输入$ N输入,Rscript就无法运行。(我通过查看是否创建了图像找到了。)我的php和r脚本的位置在&# 34; c:\ wamp \ www \"。所以,我是否必须将exec函数的路径设置为Rscript.exe位置?还是有其他方法吗?请帮助..
这是我的PHP代码
<?php
// poorman.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("Rscript my_rscript.R $N");
// return image tag
$nocache = rand();
echo("<img src='temp.png?$nocache' />");
}
?>
这是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()
`
答案 0 :(得分:0)
检查exec()的结果。例如。通过
exec("Rscript my_rscript.R $N 2>&1", $output);
echo '<pre>', join("\r\n", $output), "</pre>\r\n";
exec()只返回发送到stderr的输出:2&gt;&amp; 1将stderr重定向到stdout(也在windows下工作),所以你还应该看到错误消息,例如“RScript:command not found”