如何在LAMP系统上通过PHP与Rserve交互?

时间:2013-12-18 16:04:56

标签: php r lamp rserve

我正在尝试执行一个在LAMP系统上与Rserve交互的PHP文件。 PHP文件位于服务器上的public_html目录中。 Rserve已安装并运行在R (/usr/lib64/R/library/Rserve).内的Rserve默认目录中。是否存在PHP文件需要的特定文件夹才能正确连接到Rserve?当Rserve和PHP文件位于同一台服务器上时,是否需要使用远程连接?

PHP文件返回此错误:No path specified.Invalid response from server.Connect FAILED

示例PHP-Rserve测试文件:

<?php
require_once 'simple.php';
$s = Rserve_connect();
if ($s == FALSE) {
     echo "Connect FAILED";
} else {
     print_r (Rserve_eval($s, "list(str=R.version.string,foo=1:10,bar=1:5/2,logic=c(TRUE,FALSE,NA))"));
 echo "<p/>";
     print_r (Rserve_eval($s, "{x=rnorm(10); y=x+rnorm(10)/2; lm(y~x)}"));
 Rserve_close($s);
}
ob_end_flush();
?>

Telnet结果:

#telnet 127.0.0.1 6311
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Rsrv0103QAP1

处理结果:

# ps ax|grep Rserve
14028 ?      Ss  0:00  /usr/lib64/R/bin/Rserve
15264 pts/3  S+  0:00  grep Rserve

1 个答案:

答案 0 :(得分:0)

我认为您需要传递主机和端口参数才能连接。例子

Rserve_connect( localhost, 6311)