Como lenguaje principal para el desarrollo de programas web, php se utiliza ampliamente. Como software estadístico, R tiene buena operatividad en la implementación de algoritmos matemáticos. Recientemente, debido a necesidades laborales, tengo que realizar cálculos matemáticos complejos en algunos datos de aplicaciones web. Sin embargo, aunque PHP puede escribir algunos algoritmos matemáticos, todavía es difícil satisfacer la demanda de docenas de líneas de código. Comparable a una función en R. Después de la investigación, finalmente fue posible llamar a R para operaciones de cálculo en el acceso instantáneo de PHP, leer directamente los resultados del cálculo y mostrarlos en la página web. La idea general es la siguiente:
El punto clave es que php activa el programa R para que se ejecute, pasa los parámetros de cálculo a R y obtiene los resultados.
Para activar R en PHP, puede usar la función incorporada exec, de modo que cualquier comando ejecutado en la ventana en ejecución del sistema operativo se pueda ejecutar aquí. El comando ejecutado por R es (lo siguiente se refiere al entorno de Windows).
"D:\\Program Files\R\R-2.15.2\bin\x64\R.exe" --vanilla < D:\\test.R out.txt
La primera parte es la ruta del programa R local, seguida de la opción del software R, que se puede personalizar, seguida del archivo del programa R a ejecutar, que es el punto clave, y finalmente se ejecuta el archivo de salida. Este archivo es necesario para el comando, pero no nos sirve de nada.
Para realizar cada visita a la página PHP, se ejecutan diferentes programas R debido a diferentes parámetros. Por lo tanto, es necesario generar el nombre del archivo de programa test.R para cada visita para garantizar que haya un archivo de programa R único para cada visita. visite Utilice la forma de escribir un archivo de texto para almacenar nombres de parámetros y valores de parámetros, especifique el nombre del archivo de resultados y especifique la activación del archivo R en la página php. En este archivo, puede especificar el archivo del programa R que llama. un nombre de archivo fijo complejo Después de ejecutar, un único El archivo de texto de resultados, el archivo php luego lee el resultado del archivo de texto, lo procesa y lo muestra, es decir, se logra el propósito.
exec($command,$out1,$out2);
En el resultado de salida de php, siempre que el valor de $out2 sea 0, la ejecución es exitosa.
Cabe señalar que la barra invertida utilizada en la ruta del archivo es un símbolo de escape especial para la barra invertida en PHP. Al generar el comando $, debe prestar especial atención a si la cadena de salida cumple con los requisitos. Además, para el almacenamiento de archivos, intente utilizar rutas absolutas.