我有一个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模块来完成此任务。感谢您的投入。
答案 0 :(得分:0)
我建议使用 Rserve 来运行R代码。 Rserve 是在后台运行的TCP / IP服务器。有一个模块(rserve-php),但您可以重新创建功能。
您还可以使用具有R。
内部的make.socket()
功能的套接字