Come linguaggio principale per lo sviluppo di programmi web, php è ampiamente utilizzato. Come software statistico, R ha una buona operabilità nell'implementazione di algoritmi matematici. Recentemente, a causa di esigenze di lavoro, devo eseguire calcoli matematici complessi su alcuni dati di applicazioni web. Tuttavia, sebbene PHP stesso possa scrivere alcuni algoritmi matematici, è ancora difficile soddisfare la richiesta. L'efficienza di decine di righe di codice non lo è paragonabile ad una funzione in R. , dopo la ricerca, è stato finalmente possibile richiamare R per operazioni di calcolo nell'accesso istantaneo di PHP, leggere direttamente i risultati del calcolo e visualizzarli sulla pagina web. L’idea generale è la seguente:
Il punto chiave è che php attiva l'esecuzione del programma R, passa i parametri di calcolo a R e ottiene i risultati.
Per attivare R in php, è possibile utilizzare la funzione integrata exec, in modo che qualsiasi comando eseguito nel sistema operativo in esecuzione su Window possa essere eseguito qui. Il comando eseguito da R è (quello che segue si riferisce all'ambiente Windows)
"D:\\Program Files\R\R-2.15.2\bin\x64\R.exe" --vanilla < D:\\test.R out.txt
La prima parte è il percorso del programma R locale, seguito dall'opzione del software R, che può essere personalizzata, seguito dal file del programma R da eseguire, che è il punto chiave, e infine viene eseguito il file di output. Questo file è necessario per il comando, ma non ci è di alcuna utilità.
Per realizzare ogni visita alla pagina php, vengono eseguiti diversi programmi R a causa di parametri diversi. Pertanto, il nome del file di programma test.R deve essere generato per ogni visita per garantire che vi sia un file di programma R univoco per ciascuno. visit Utilizzare il formato di scrittura di un file di testo per memorizzare i nomi e i valori dei parametri, specificare il nome del file dei risultati e specificare l'attivazione del file R nella pagina php. In questo file è possibile specificare il file del programma R che chiama un nome di file fisso complesso. Dopo l'esecuzione, un file di testo risultato univoco, il file php legge quindi il risultato del file di testo, lo elabora e lo visualizza, ovvero lo scopo è raggiunto.
exec($command,$out1,$out2);
Nel risultato dell'output di php, finché il valore di $out2 è 0, l'esecuzione ha esito positivo.
Va notato che la barra rovesciata utilizzata nel percorso del file è un simbolo di escape speciale per la barra rovesciata in PHP Quando si genera il comando $, è necessario prestare particolare attenzione al fatto che la stringa di output soddisfi i requisiti. Inoltre, per l'archiviazione dei file, prova a utilizzare percorsi assoluti.