无法在PHP脚本中调用R代码

时间:2014-11-22 05:49:47

标签: php r

我正在尝试在php程序中执行一个小的R代码。实际上,R代码生成热图并将图保存在localfile中。当我从命令行运行R代码时,它工作并保存图像文件,如下所示,

Rscript /var/www/html/ani/Rcode/anat.R

但是当从php调用代码时,我无法执行此任务。我尝试使用一些方法根据其他帖子调用代码,

exec("/usr/bin/Rscript /var/www/html/ani/Rcode/anat.R");

system("Rscript /var/www/html/ani/Rcode/anat.R");

它没有用。所以任何人都可以帮我解决这个问题......谢谢。

R代码,

library(gplots)
library(RColorBrewer)
dat <- read.csv("/var/www/html/ani/file.csv")
dat_matrix <- data.matrix(dat)
colors = c(seq(-2,-1,length=100),seq(-1,1,length=100),seq(1,2,length=100))
my_palette <- colorRampPalette(c("green","black","red"))(n = 299)
png("/var/www/html/ani/Rcode/map.png")
heatmap.2(dat_matrix, dendrogram="none", Rowv=FALSE, Colv=FALSE, col = my_palette,     breaks=colors, scale="none", key=TRUE, density.info="none", trace="none", labRow=FALSE, symm=F,symkey=T,symbreaks=T)
dev.off() 

PHP,

<?php
  .
  .
for ($i=0;$i<=$len;$i++)
{
$id=$locus[$i];
$id=trim($id);

$dbo = new PDO($dbc, $user, $pass);
$sql = "SELECT * FROM anatomy WHERE locus_id='$id'";
$qry = $dbo->prepare($sql);
$qry->execute();

while ($row = $qry->fetch(PDO::FETCH_ASSOC))
     {
      fputcsv($data, $row);
      chmod("file.csv",0777);
     }
}
exec("/usr/bin/Rscript /var/www/html/ani/Rcode/anat.R");

?>

0 个答案:

没有答案