1

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

当我从终端使用 Rscript 运行代码时,我将在此处显示的代码运行良好。# R 脚本 png("temp.png") plot(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 中执行此操作。

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

谢谢迪米特里斯

4

2 回答 2

4

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

exec("Rscript test.R $N", $results);
print_r($results);
于 2016-02-03T18:19:13.747 回答
0

这对我来说可以将图像保存到目录并在网页上可见。从命令行:

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

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

于 2017-02-27T16:40:08.333 回答