Por algo este sencillo, ni siquiera debería usar PHP, porque puede hacerlo únicamente con RApache, brew
paquete y HTML plano (CSS/JS son opcionales). Simplemente lea the RApache manual y vea Jeroen Ooms 'video tutorial. También debe leer el manual brew
. ¡Jeff realmente hizo un gran trabajo!
En pocas palabras, usted sólo tiene que configurar apache2.conf o archivo .htaccess. En lugar de utilizar las directivas <Directory>
o <Location>
, puede usar la directiva <FilesMatch>
para que pueda hacer coincidir los archivos con regexpr. He aquí una muestra .htaccess:
<FilesMatch "^.+\.rhtml$">
SetHandler r-script
RHandler brew::brew
</FilesMatch>
que utilizar la extensión de archivo especial .rhtml
donde mezclo con la sintaxis HTML R dentro <%
y %>
etiquetas (ver brew
documentación). No utilicé brew
con PHP, porque HTML hizo el truco con brew
.
De todos modos, usted ha dicho que desea:
escribir una página en PHP que contiene un comando me gustaría ejecutar en I y luego pasar los resultados a ser capaz de trabajar con ellos
- sobre la ejecución de comandos de entrada del usuario ... bueno ... no lo hacen! ¡Especialmente no permita que los usuarios ejecuten comandos personalizados porque pueden pasar fácilmente los comandos
system
o file.*
y arruinar su sistema! Puede usar AppArmor, pero es todavía un largo camino hacia abajo ...
- enfoque en formularios HTML simples y utilizar POSTAL, GET, GALLETAS, ARCHIVOS y SERVIDOR variables que RApache proporciona y a continuación, manipular entradas dentro de la secuencia de comandos R
- sobre "pasar los resultados de nuevo", puede utilizar
XML
paquete R, o rjson
(mi favorito, y lo recomiendo). Luego puede pasar el objeto R a la función toJSON
y deserializarlo con JavaScript. Por supuesto, eso es cierto solo si sus clientes son navegadores web, de lo contrario, si usted quiere, digamos, pasar alguna información al sistema integrado, debe usar el estándar XML
-way
- por algo tan simple, no lo hace necesita PHP. De todos modos, debe comunicarse con Jeroen, sé que usó algo de PHP en su aplicación Stockplot
Para cualquier otra duda, utilice RApache mailing list.
... y hola R-webdev world! =)
1. ¡Gracias! No tienes idea de cuánto me molestaba. 2. Esto se ve muy útil, lo investigaré una vez que mejore en todo esto. 3. Esto es exactamente lo que estaba buscando. ¡Gracias por escribirlo! En caso de que alguien más tenga curiosidad, pude obtener el resultado exacto que estaba buscando usando: " Php $ rQuery =" r -e 'cat (3 + 1)' "; system ($ rQuery); > " – crix
Placer. Littler (por ejemplo, '/ usr/bin/r') inicia su instancia de R incorporada con esa opción por la misma razón. –
Disculpe por el formato de arriba aún aprendiendo SO también! – crix