Como principal linguagem para desenvolvimento de programas web, o php é amplamente utilizado. Por ser um software estatístico, R apresenta boa operabilidade na implementação de algoritmos matemáticos. Recentemente, devido a necessidades de trabalho, tive que realizar cálculos matemáticos complexos em alguns dados de aplicações web. No entanto, embora o próprio PHP possa escrever alguns algoritmos matemáticos, ainda é difícil atender à demanda. comparável a uma função em R., após pesquisa, finalmente foi possível chamar R para operações de cálculo no acesso instantâneo do PHP, ler diretamente os resultados do cálculo e exibi-los na página web. A ideia geral é a seguinte:

O ponto chave é que o php ativa a execução do programa R, passa parâmetros de cálculo para R e obtém resultados.

Para ativar R no php, você pode usar a função integrada exec, para que qualquer comando executado na janela de execução do sistema operacional possa ser executado aqui. O comando executado por R é (o seguinte refere-se ao ambiente Windows).

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

A primeira parte é o caminho do programa R local, seguido da opção do software R, que pode ser customizado, seguido do arquivo do programa R a ser executado, que é o ponto chave, e por fim o arquivo de saída é executado. Este arquivo é necessário para o comando, mas não tem utilidade para nós.

Para realizar cada visita à página php, diferentes programas R são executados devido a diferentes parâmetros. Portanto, o nome do arquivo do programa test.R precisa ser gerado para cada visita para garantir que haja um arquivo de programa R exclusivo para cada uma. visite Use a forma de escrever um arquivo de texto para armazenar nomes e valores de parâmetros, especifique o nome do arquivo de resultado e especifique a ativação do arquivo R na página php. Neste arquivo, você pode especificar o arquivo do programa R que chama. um nome de arquivo fixo complexo Após a execução, um arquivo de texto de resultado exclusivo, o arquivo php então lê o resultado do arquivo de texto, processa-o e exibe-o, ou seja, o objetivo é alcançado.

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

No resultado da saída do php, desde que o valor de $out2 seja 0, a execução foi bem-sucedida.

Deve-se observar que a barra invertida usada no caminho do arquivo é um símbolo de escape especial para barra invertida em PHP. Ao gerar o comando $, você precisa prestar atenção especial se a string de saída atende aos requisitos. Além disso, para armazenamento de arquivos, tente usar caminhos absolutos.


Deixe uma resposta