Windows环境下 PHP调用R脚本

写在前面的:

  由于是windows平台实现的,只要保证脚本命令能在cmd控制台运行,则可以在php中利用system()实现。

  注意事项:

(1).保证system的路径中无汉字和空格 !!  (亲身试验:路径中如果有空格,就得不到结果!!)

(2).事先要配置R语言环境,在windows环境变量path中添加路径C:\R\R-3.4.0\bin

 

程序如下:

R    路径:C:\R\R-3.4.0\bin\R.exe

test1.R     路径:C:\Rwork\test1.R

print(123)

index.php

<?php
//R
echo "</br>Hello R!</br>";
$se=shell_exec('C:\R\R-3.4.0\bin\R.exe  --vanilla <C:\Rwork\test1.R');  
//echo $se;
if($se==0){  
    sleep(2);  
    echo "分析成功 ".$se.'</br>';
}else{  
    echo "分析失败 ".$se;  
}  
?>

 输出:

Hello R!
分析成功 R version 3.4.0 (2017-04-21) -- "You Stupid Darkness" Copyright (C) 2017 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 (64-bit) R�����������������κε����� ��ijЩ����������Խ�������ɢ���� ��'license()'��'licence()'����ɢ������ϸ������ R�Ǹ������ƻ�����������Ϊ֮�����˹���. ��'contributors()'���������ߵ���ϸ��� ��'citation()'�����������ڳ���������ȷ������R��R������� ��'demo()'����һЩʾ��������'help()'���Ķ����߰����ļ����� ��'help.start()'ͨ��HTML��������������ļ��� ��'q()'�˳�R. > print(123) [1] 123

 

 

参考:

php调用R的脚本实现方案

命令行运行R语言脚本(代码)

 Windows:

键入 cd C:\Program Files\R\R-3.2.0\bin   工作目录切换到R的核心程序目录
键入 R BATCH F:\Test.RRscript F:\Test.R 运行脚本
前者R控制台内容记录到Test.Rout文件中,后者则将数据输出到windows控制台。二者涉及文件创建都需要权限。

 

posted on 2018-02-22 17:06  一叶舟鸣  阅读(704)  评论(0编辑  收藏  举报

导航