当我在命令提示符下编写此脚本时,它可以正常工作:
R CMD BATCH test.R
但是,当我尝试在Windows上的php中执行此代码时:
shell_exec(R CMD BATCH test.R)
它给了我一个错误:"库中的错误(光栅):包' raster'没有找到"
这没有意义,因为它确实可以在unix上运行!
答案 0 :(得分:2)
几种可能性:
未安装光栅包
PHP PATH在调用shell_exec时设置了不同的环境变量,因此它没有加载正确的库(尝试设置R_LIBS来修复它)。
尝试使用r的绝对路径而不是相对路径。
对于上面提到的R_LIBS:https://stat.ethz.ch/R-manual/R-devel/library/base/html/libPaths.html
默认情况下,R_LIBS未设置,R_LIBS_USER设置为主目录的目录“R / R.version $ platform-library / x.y”(或CRAN OS X版本的“Library / R / xy / library”) ),对于R xyz
来自FAQ的示例:
"path_to_R\bin\x64\Rgui.exe" HOME=p:/ R_LIBS=p:/myRlib