' RSCRIPT'不被识别为内部或外部命令,可操作程序或批处理文件

时间:2016-04-18 14:44:09

标签: php r shell cmd path

shell_exec("Rscript C:\R\R-3.2.2\bin\code.R ");

这是对script的调用。在调用上面的脚本时,会发生错误。

我试图从上面的路径调用我的R脚本,但没有显示输出。在检查PHP的错误日志时,它说“Rscript”#39;不被识别为内部或外部命令,可操作程序或批处理文件。'该脚本在Rstudio上正常工作,但没有在命令行上运行。

2 个答案:

答案 0 :(得分:5)

在Windows中将Rscript路径添加到环境变量中:

转到控制面板\系统和安全\系统,然后单击高级系统设置,然后单击环境变量,单击下方框中的路径,编辑,添加“C:\ R \ R-3.2.2 \ bin”

重启一切。应该好好去。然后你应该能够做到

exec('Rscript PATH/TO/my_code.R')

而不是输入Rscript的完整路径。如果您的php文件位于同一目录中,则不需要my_code.R脚本的路径。

答案 1 :(得分:1)

您需要设置RScript.exe程序所在的正确路径。

exec ("\"C:\\R\\R-3.2.2\\bin\\Rscript.exe\"
           C:\\My_work\\R_scripts\\my_code.R my_args";

#my_args only needed if you script take `args`as input to run

另一种方式是在r脚本中声明标头(my_code.r)

 #!/usr/bin/Rscript

并从命令行调用

./my_code.r