我想使用 R 构建一个 Web 应用程序。我使用的是 Windows Vista 并且有一个 Apache 服务器。我试过Rpad,但我无法正确配置它。我如何设置 Rpad,因为我对 PHP 和 Apache 服务器不是很好?或者还有其他方法可以在 Apache 服务器上使用 R 吗?
如何将 R 与 PHP 集成?
机器算法验证
r
2022-03-23 18:19:03
3个回答
这是我发现的最简单的方法:
PHP 和 R 的这个实现只包含两个文件。一个用 PHP 编写,另一个用 R 脚本编写。PHP 返回一个表单,该表单使用 GET 方法将变量 N 发送到服务器。提交表单后,PHP 将使用 PHP 命令 exec() 和 Rscript shell 命令的组合从 shell 执行 R 脚本。此命令会将变量 N 传递给 R 脚本。然后,R 脚本将执行并将 N 个正态分布值的直方图保存到文件系统中。最后,当 R 脚本完成时,PHP 将返回包含保存图像路径的 HTML 标记。一、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 脚本
# my_rscript.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()
这里还有一些欢迎您尝试:
如果您想切换到 Linux,最好的方法是使用RApachemod_R ,它是一个 Apache 模块,在网络服务器中嵌入了 R 解释器 ( )
如果您正在寻找一种从 PHP 执行 R 代码块的方法,这里有一个库可能会有所帮助:
https://github.com/kachkaev/php-r
use Kachkaev\PHPR\RCore;
use Kachkaev\PHPR\Engine\CommandLineREngine;
$r = new RCore(new CommandLineREngine('/usr/bin/R'));
$result = $r->run('1 + 1');
echo $result;
这将输出:
> 1 + 1
[1] 2
其它你可能感兴趣的问题