Lancer un programme R avec php
Fermé
marys
-
11 janv. 2008 à 13:24
keujmat Messages postés 32 Date d'inscription mardi 15 avril 2008 Statut Membre Dernière intervention 30 mai 2013 - 10 mars 2012 à 17:54
keujmat Messages postés 32 Date d'inscription mardi 15 avril 2008 Statut Membre Dernière intervention 30 mai 2013 - 10 mars 2012 à 17:54
A voir également:
- Lancer un programme R avec php
- Lancer un programme au demarrage - Guide
- Programme demarrage windows 10 - Guide
- Easy php - Télécharger - Divers Web & Internet
- \R python ✓ - Forum Python
5 réponses
keujmat
Messages postés
32
Date d'inscription
mardi 15 avril 2008
Statut
Membre
Dernière intervention
30 mai 2013
5
22 avril 2008 à 14:03
22 avril 2008 à 14:03
Ca y est j'ai trouvé !! C'est ultra simple !
Faut mettre les variables d'environnement !
Puis tu lance la commande suivante dans ton script PHP:
exec("Rcmd BATCH Ton_Super_Programme.R " );
tu peut egalement faire:
exec("R CMD BATCH Ton_Super_Programme.R " );
et voilà !
Faut mettre les variables d'environnement !
Puis tu lance la commande suivante dans ton script PHP:
exec("Rcmd BATCH Ton_Super_Programme.R " );
tu peut egalement faire:
exec("R CMD BATCH Ton_Super_Programme.R " );
et voilà !
keujmat
Messages postés
32
Date d'inscription
mardi 15 avril 2008
Statut
Membre
Dernière intervention
30 mai 2013
5
15 avril 2008 à 10:14
15 avril 2008 à 10:14
Question très intéressante et cruciale pour l'avancement de mon projet.
J'ai également tester la commande system et exec mais cela ne fonctionne pas. Peut être sous linux il y aurait plus de liberté...
Une autre solution consiste a programmer en java un petit programme qui fait appel à R. (http://lutinj2r.labs.libre-entreprise.org/installation.html) Mais l'utilisation du packetage pour ce dernier est incompréhensible pour ma part pour l'instant. J'arrive à rien faire fonctionner.
Ca serai plus simple dans l'idée car il y aurai plus qu'a faire appel au programme java qui sera sous la forme d'un .jar à partir de ta page PHP.
Je suis preneur pour toute lumière à ce sujet !!
J'ai également tester la commande system et exec mais cela ne fonctionne pas. Peut être sous linux il y aurait plus de liberté...
Une autre solution consiste a programmer en java un petit programme qui fait appel à R. (http://lutinj2r.labs.libre-entreprise.org/installation.html) Mais l'utilisation du packetage pour ce dernier est incompréhensible pour ma part pour l'instant. J'arrive à rien faire fonctionner.
Ca serai plus simple dans l'idée car il y aurai plus qu'a faire appel au programme java qui sera sous la forme d'un .jar à partir de ta page PHP.
Je suis preneur pour toute lumière à ce sujet !!
keujmat
Messages postés
32
Date d'inscription
mardi 15 avril 2008
Statut
Membre
Dernière intervention
30 mai 2013
5
15 avril 2008 à 12:02
15 avril 2008 à 12:02
A partir de PHP 4.2 normalement on peut utilisé cette fonction "pcntl_exec" (https://www.php.net/manual/fr/function.pcntl-exec.php ,qui devrait répondre à notre intérogation mais ne fonctionne pas chez moi :"Fatal error: Call to undefined function pcntl_exec()"
Pourtant je suis sur que ca peut etre la solution !
Pourtant je suis sur que ca peut etre la solution !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
keujmat
Messages postés
32
Date d'inscription
mardi 15 avril 2008
Statut
Membre
Dernière intervention
30 mai 2013
5
18 avril 2008 à 14:38
18 avril 2008 à 14:38
Pour effectuer des commandes R depuis PHP (Sous Windows):
A partir de PHP on va utiliser « exec() » pour lancer un programme java qui sous forme de jar. Ce programme java fait appel au programme R et lui dit de lire un script écrit en R qui sera exécuté.
Le plus dur dans l’histoire est d’ajouter les éléments permettant à JAVA d’interagir avec R. Pour cela il vous faudra tout d’abord installer MSYS et MinGW qui va vous permettre d’avoir un Shell linux sur votre PC afin de pouvoir compiler et utiliser des éléments essentiels.
Pour cela je conseille de voir la page suivante :
http://www.unite-video.com/phpbb/viewtopic.php?p=61514
Vous n’avez pas besoin de GTK+ mais si cela vous intéresse en plus…
Ensuite vous devez télécharger JRI_0.4-0.tar.gz sur ce site : http://www.rforge.net/JRI/ .
Vous le décompressez et grâce à votre Shell linux vous pouvez lancer les commandes suivantes :
sh configure.win
make
Un fichier nommé jri.dll est crée. Il vous faut le copier et le coller dans la librairie de R . Par exemple chez moi dans le dossier : C:\Program Files\R\R-2.6.2\library .
Un fichier jri.jar est créé également. Il vous faut exporter cette librairie dans éclipse. Pour cela vous faîtes un clic droit sur votre projet et cliquer sur «build path » puis « add external archive ». Et là vous importer le fichier JRI.jar.
Ensuite Il vous faut régler les variables d’environnement :
Clic droit sur poste de travail -> Propriété -> Avancé -> Variables d’environnement
Il vous faut rajouter au PATH : Le chemin d’accès du dossier de R
Exemple-> ; C:\Program Files\R\R-2.6.2
Le chemin d’accès à la librairie de R
Exemple-> ; C:\Program Files\R\R-2.6.2\library
Ou vous ajouter de nouvelles variables :
R_HOME : C:\Program Files\R\R-2.6.2
LD_LIBRARY_PATH : C:\R_HOME\library
Si vous n’êtes pas sur comme moi vous mettez les deux ca marchera forcement !
Pour voir si tout cela fonctionne il y a plus qu’a copié le code de rtest qui ce trouve dans le dossier exemple et le tester sur éclipse !
Voila ensuite mon script java pour appeler le script R :
//Création d’une passerelle vers R
Rengine re=new Rengine(args, false, new TextConsole());
System.out.println("Rengine crée, attente de R");
// the engine creates R is a new thread, so we should wait until it's ready
if (!re.waitForR())
{
System.out.println("Cannot load R");
return;
}
String curDir = System.getProperty("user.dir");
// Pour l’execution du script dans R :
String matrice = "source('Chemin_Du_Script_R', echo=T)";
//J’envoie matrice à une instance de R :
re.eval(matrice);
ATTENTION Pour le Chemin du script,exemple :
C:\\\\Program Files\\\\EasyPHP
Référence :
http://www.unite-video.com/phpbb/viewtopic.php?p=61514
http://alnitak.u-strasbg.fr/wikili/index.php/JRI
http://www.rforge.net/JRI/
http://www.mingw.org/
Une autre méthode soit disant plus simple mais que je n’est pas réussi à installer :
http://lutinj2r.labs.libre-entreprise.org/installation.html
A partir de PHP on va utiliser « exec() » pour lancer un programme java qui sous forme de jar. Ce programme java fait appel au programme R et lui dit de lire un script écrit en R qui sera exécuté.
Le plus dur dans l’histoire est d’ajouter les éléments permettant à JAVA d’interagir avec R. Pour cela il vous faudra tout d’abord installer MSYS et MinGW qui va vous permettre d’avoir un Shell linux sur votre PC afin de pouvoir compiler et utiliser des éléments essentiels.
Pour cela je conseille de voir la page suivante :
http://www.unite-video.com/phpbb/viewtopic.php?p=61514
Vous n’avez pas besoin de GTK+ mais si cela vous intéresse en plus…
Ensuite vous devez télécharger JRI_0.4-0.tar.gz sur ce site : http://www.rforge.net/JRI/ .
Vous le décompressez et grâce à votre Shell linux vous pouvez lancer les commandes suivantes :
sh configure.win
make
Un fichier nommé jri.dll est crée. Il vous faut le copier et le coller dans la librairie de R . Par exemple chez moi dans le dossier : C:\Program Files\R\R-2.6.2\library .
Un fichier jri.jar est créé également. Il vous faut exporter cette librairie dans éclipse. Pour cela vous faîtes un clic droit sur votre projet et cliquer sur «build path » puis « add external archive ». Et là vous importer le fichier JRI.jar.
Ensuite Il vous faut régler les variables d’environnement :
Clic droit sur poste de travail -> Propriété -> Avancé -> Variables d’environnement
Il vous faut rajouter au PATH : Le chemin d’accès du dossier de R
Exemple-> ; C:\Program Files\R\R-2.6.2
Le chemin d’accès à la librairie de R
Exemple-> ; C:\Program Files\R\R-2.6.2\library
Ou vous ajouter de nouvelles variables :
R_HOME : C:\Program Files\R\R-2.6.2
LD_LIBRARY_PATH : C:\R_HOME\library
Si vous n’êtes pas sur comme moi vous mettez les deux ca marchera forcement !
Pour voir si tout cela fonctionne il y a plus qu’a copié le code de rtest qui ce trouve dans le dossier exemple et le tester sur éclipse !
Voila ensuite mon script java pour appeler le script R :
//Création d’une passerelle vers R
Rengine re=new Rengine(args, false, new TextConsole());
System.out.println("Rengine crée, attente de R");
// the engine creates R is a new thread, so we should wait until it's ready
if (!re.waitForR())
{
System.out.println("Cannot load R");
return;
}
String curDir = System.getProperty("user.dir");
// Pour l’execution du script dans R :
String matrice = "source('Chemin_Du_Script_R', echo=T)";
//J’envoie matrice à une instance de R :
re.eval(matrice);
ATTENTION Pour le Chemin du script,exemple :
C:\\\\Program Files\\\\EasyPHP
Référence :
http://www.unite-video.com/phpbb/viewtopic.php?p=61514
http://alnitak.u-strasbg.fr/wikili/index.php/JRI
http://www.rforge.net/JRI/
http://www.mingw.org/
Une autre méthode soit disant plus simple mais que je n’est pas réussi à installer :
http://lutinj2r.labs.libre-entreprise.org/installation.html
23 avril 2008 à 20:55
çà fonctionne !
30 déc. 2008 à 11:25
30 nov. 2010 à 15:39
6 janv. 2012 à 16:40
10 mars 2012 à 17:54
Elle permette à ta machine de savoir ou sont tes logiciel par exemple (ici c'est surement les variable d'env pour R)
++