Als Hauptsprache für die Entwicklung von Webprogrammen ist PHP weit verbreitet. Als Statistiksoftware verfügt R über eine gute Bedienbarkeit bei der Implementierung mathematischer Algorithmen. Aufgrund von Arbeitsanforderungen muss ich in letzter Zeit komplexe mathematische Berechnungen für einige Webanwendungsdaten durchführen. Obwohl PHP selbst einige mathematische Algorithmen schreiben kann, ist es immer noch schwierig, die Anforderungen von Dutzenden von Codezeilen zu erfüllen Vergleichbar mit einer Funktion in R. Nach Recherche war es endlich möglich, R für Berechnungsoperationen im Instant Access von PHP aufzurufen, die Berechnungsergebnisse direkt auszulesen und auf der Webseite anzuzeigen. Die allgemeine Idee ist wie folgt:

Der entscheidende Punkt ist, dass PHP das R-Programm zur Ausführung aktiviert, Berechnungsparameter an R übergibt und Ergebnisse erhält.

Um R in PHP zu aktivieren, können Sie die integrierte Funktion exec verwenden, sodass hier jeder im Betriebssystem ausgeführte Befehl ausgeführt werden kann. Der von R ausgeführte Befehl lautet (das Folgende bezieht sich auf die Windows-Umgebung).

"D:\\Program Files\R\R-2.15.2\bin\x64\R.exe" --vanilla < D:\\test.R  out.txt

Der erste Teil ist der Pfad des lokalen R-Programms, gefolgt von der Option der R-Software, die angepasst werden kann, gefolgt von der auszuführenden R-Programmdatei, die der Schlüsselpunkt ist, und schließlich wird die Ausgabedatei ausgeführt. Diese Datei wird für den Befehl benötigt, ist für uns jedoch nutzlos.

Um jeden Besuch auf der PHP-Seite zu realisieren, werden aufgrund unterschiedlicher Parameter unterschiedliche R-Programme ausgeführt. Daher muss der Programmdateiname von test.R für jeden Besuch generiert werden, um sicherzustellen, dass es für jeden eine eindeutige R-Programmdatei gibt Besuchen Sie die Form des Schreibens einer Textdatei, um Parameternamen und Parameterwerte zu speichern, den Namen der Ergebnisdatei anzugeben und die Aktivierung der R-Datei auf der PHP-Seite anzugeben. In dieser Datei können Sie die R-Programmdatei angeben, die aufgerufen wird Ein komplexer fester Dateiname, eine eindeutige Ergebnistextdatei, die PHP-Datei liest dann das Ergebnis der Textdatei, verarbeitet es und zeigt es an, das heißt, der Zweck wird erreicht.

exec($command,$out1,$out2);

Im PHP-Ausgabeergebnis ist die Ausführung erfolgreich, solange der Wert von $out2 0 ist.

Es ist zu beachten, dass der im Dateipfad verwendete Backslash ein spezielles Escape-Symbol für Backslash in PHP ist. Beim Generieren von $command müssen Sie besonders darauf achten, ob die Ausgabezeichenfolge die Anforderungen erfüllt. Versuchen Sie außerdem, für die Dateispeicherung absolute Pfade zu verwenden.


Hinterlasse eine Antwort