Y a-t-il de toute façon pour exécuter des scripts r via Apache et PHP? J'aimerais pouvoir passer des variables de PHP à R. P>
Quelqu'un a-t-il fait quelque chose comme ça? p>
essentiellement, j'aimerais savoir s'il existe une méthode de passage de variables de PHP à R sur un serveur Apache. p>
8 Réponses :
Voir le R-FAQ : P>
Deux projets utilisent PHP pour fournir une interface Web à R. r_php_online par Steve Chen (Bien que ce n'est pas clair si ce projet est toujours actif) est quelque peu similaire à ce qui précède RCGI et RWEB. R-php est activement développé par Alfredo Pontillo et Angelo Mineo et fournit à la fois un Interface Web sur R et un ensemble d'analyses pré-spécifiées qui n'ont pas besoin d'entrée de code R. p>
et ce papier: Utilisation de R via PHP à des fins pédagogiques: R-PHP < / p>
Ce projet fournit des capacités complètes R, ce n'est pas ce que je cherche. Je cherche quelque chose qui peut faciliter la remise des variables de PHP à R et R sur la sortie PHP sur un serveur Apache.
Une autre option est eerve . Il vous permet d'appeler R de n'importe quelle langue prenant en charge les sockets TCP. P>
Pas entièrement - vous avez également besoin d'un client qui parle le protocole Raerve. Simon nous a donné des clients Java et C ++ et afaik rien n'existe pour PHP. Cela dit, la Raerve est très utile et plutôt sous-appréciée.
Cela fait partie du problème - je ne connais pas Java. Sinon, ce serait probablement ma solution.
Personnellement, nous avons utilisé l'interface de lot r cmd sur R pour y parvenir. Ce n'est pas très élégant, mais nous avons essentiellement des données de collage utilisateur dans une forme qui est transmise à PHP qui génère un fichier .r avec quelque chose p>
x = c (1,2,3,4); Dev.off (); Terrain (x); p>
Ensuite, nous obtenons PHP pour faire un «lot r cmd» exécuté p>
Dans le répertoire, vous devez alors obtenir des fichiers RPLots.ps qui peuvent être servis au client. De même, vous pouvez utiliser la fonction JPEG () pour renvoyer une image JPEG du graphique qui peut ensuite être affichée sur la page Web PHP Retours. P>
pas élégant du tout, mais cela fonctionne pour nous. P>
Merci pour la réponse Dangerstat. Ce n'était pas la meilleure solution, mais donc le choisi. Dans un autre forum, j'ai trouvé deux options beaucoup plus agréables à mes besoins.
Oui, R dans MediaWiki atteint cela assez joliment, et c'est une source ouverte alors Vous pouvez voir comment ils l'ont fait. P>
J'ai beaucoup joué avec la source moi-même, c'est vraiment simple et je ne devrais pas vous prendre longtemps pour l'adapter. P>
Bien sûr, vous ne pouvez pas l'utiliser comme si vous envisagez d'utiliser code> MediaWiki code> sur votre serveur. Aussi, faites attention à la sécurité. P>
Cela semble certainement intéressant ... Je n'arrive pas à l'aider à travailler sur aucun des serveurs où j'ai accès à :(
réponses d'ailleurs: p>
RABACHE semble être pertinent: http://biostat.mc.vanderbilt.edu / RABACHE / . Il intègre R avec une servage Web sous la forme d'un module Apache. Il est disponible en tant qu'image VMware, vous pouvez donc la tester en douceur. Jeroen Ooms a développé des webapps étonnants basés sur Radache: http://www.stat.ucla.edu/ ~ Jeroen / P> LI>
Une autre solution pour Integrationg PHP, Apache et RI peuvent utiliser l'une des solutions de service Web r, telles que STATConnws ou RSOAP. Cela présente l'avantage de pouvoir séparer plus tard simplement le serveur Web et l'ordinateur exécutant R. Le surcharge de calcul ne doit pas être trop grand. p> li> ol>
... et assurez-vous que vous avez BREW BREW code> Installation de package - vous pouvez passer le code R dans les
<% code> et
%> code> étiquettes.
Raerve a maintenant la prise en charge de PHP Vous pouvez trouver plus d'informations à: http: // code. google.com/p/rserve-php/ p>
Ceci est en plus du commentaire de Mark
une manière très simple p>
Vous pouvez passer des variables à l'aide de l'argument p>
Chaque fois EXEC ("RScript Yourrscript.R") Vous passez des arguments dans ce P>
Par exemple p>
EXEC ("RScript Yourrscript.r arg1 arg2 arg3") p>
Ensuite, votrerscript peut charger ces agres en utilisant args <- Commandargs () P>
J'espère que c'est utile ~ p>
Voici une bibliothèque PHP qui pourrait aider:
https://github.com/kachkaev/ php-r p> Ceci va sortir: p> La bibliothèque est également disponible comme Symfony2 Bundle . P> P>