如何从PHP代码执行R程序?

时间:2014-02-26 23:05:01

标签: php r

我有一个R程序,可以使用“R CMD BATCH file.r”和“Rscript file.r”从命令行正确执行。如果我尝试通过PHP代码执行,我会得到奇怪的结果。这是我的结果:

$lastline = system("R CMD BATCH file.r", $returnval);

** $ returnval = 133,R代码创建一个Rout输出文件,R代码似乎没有完全执行,因为应该创建了SQL记录

$lastline = system("Rscript file.r", $returnval);

**什么都没有返回,浏览器只是无限旋转

我也尝试过使用exec_shell和exec。我得到了相同的结果。有关如何通过PHP有效执行R代码的任何想法?根据我的阅读,“R CMD BATCH”选项可能更有希望,但是,看起来R / RMySQL正在完成的工作似乎没有完成。不确定这是问题还是别的。但我知道R程序可以通过命令行正常执行。

此外,我不想使用任何Apache或PHP模块来完成此任务。感谢您的投入。

1 个答案:

答案 0 :(得分:0)

我建议使用 Rserve 来运行R代码。 Rserve 是在后台运行的TCP / IP服务器。有一个模块(rserve-php),但您可以重新创建功能。

您还可以使用具有R。

内部的make.socket()功能的套接字