shell_exec("Rscript C:\R\R-3.2.2\bin\code.R ");
这是对script的调用。在调用上面的脚本时,会发生错误。
我试图从上面的路径调用我的R脚本,但没有显示输出。在检查PHP的错误日志时,它说“Rscript”#39;不被识别为内部或外部命令,可操作程序或批处理文件。'该脚本在Rstudio上正常工作,但没有在命令行上运行。
答案 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