Execution script R avec PHP

Bonjour,

J'ai un soucis, en effet j'ai une page php et à partir de cette page je veux lancer un script R, hors lorsque je lance la page il ne fait rien du tout.

Voici le script php :



<html>

<head>Calcul de corrélation</head>

<body>

<?php

exec('Rscript corr.R');

?>

</body>

</html>

Voici le code en R qui marche parfaitement quand je le lance à part :


#!/usr/bin/Rscript

#script R
setwd("C:\\Program Files (x86)\\EasyPHP-DevServer-14.1VC9\\data\\localweb\\projects")
data<-read.csv("temp.csv", header=FALSE, sep=";", dec=",", row.names=1)
data2<-t(data)
#bact<-data.frame(bact1=c(5,5,3,12),bact2=c(8,6,7,11),bact3=c(9,3,11,2))
dim(data2)
coef<-cor(data2, method="spearman")
coef
write.csv2(coef,file='coef.csv')

Est-ce que quelqu'un pourrait m'aider s'il vous plait?

Cordialement

charneas

3 réponses

  1. Bon du coup je vais lancer une commande en batch qui va exécuter ma ligne de commande mais le soucis c'est qu'il va ouvrir Rstudio et ne va pas lancer le programme alors que je fais ça pour l'automatiser...

    Si quelqu'un a une idée...
    1. Salut,

      Peut-être un problème de droits ?

      Tu peux afficher le résultat de la commande exécutée avec exec() en utilisant les paramètres $output et $return_val :
      exec('Rscript corr.R', $output, $return_val);
      var_dump($output);
      var_dump($return_val);
      


      Mais pourquoi utiliser un script php pour automatiser un autre script, puisqu'il faudra ensuite automatiser ce script php ? Tu pourrais utiliser une tache cron pour directement automatiser l'appel à ton script R ?

      Bonne journée