如何使用exec通过PHP运行R?

时间:2012-12-09 17:01:01

标签: php r exec

我会问一些问题,我知道已经有人问过了。但是,因为,所有过去的帖子都很旧,没有一个回答我的问题。我再试一次。 我是R语言的新手,在php中相对较新。 我想要做的是使用php中的exec()函数来执行R脚本。 这里的大多数人都会开始谈论rapache,rserve,我不知道还有什么......但由于我不熟悉所有这些技术,我更喜欢使用exec。

我在这里展示的代码工作正常,当我从终端运行Rscript时。        #R脚本       PNG( “temp.png”)       图(5,5)       dev.off()

但是当我尝试使用Rscript或来自PHP的R CMD BATCH运行它时,如下所示:             

       echo exec("Rscript my_rscript.R"); //OR
       //echo exec("R CMD BATCH my_rscript.R");

我一无所获。

我检查过exec()函数是否可用以及是否有效。一切都很好。 我还读到,我可能要更改网络服务器的权限......但我不知道如何在mamp中执行此操作。

我希望我对自己的问题很清楚,有人可以提供帮助。

由于 迪米瑞斯

2 个答案:

答案 0 :(得分:3)

不确定这是否适用于图像,但在将结果存储在exec()函数的第二个参数中之前我什么都没有回来

exec("Rscript test.R $N", $results);
print_r($results);

答案 1 :(得分:0)

这对我有用,可以将图像保存到目录并在网页上显示。从命令行:

chown www-data:www-data /usr/bin/Rscript
chown www-data:www-data -R /PATH/TO/RSCRIPTFOLDER

首先在Rscript可执行文件上更改权限,然后对包含.php文件,.R文件等的整个文件夹执行相同操作。