Невозможно вызвать код R внутри скрипта PHP

Я пытаюсь выполнить небольшой код R внутри программы PHP. На самом деле код R генерирует тепловую карту и сохраняет рисунок в локальном файле. Когда я запускаю код 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

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector