shell_exec无法在Windows

时间:2016-01-07 03:31:18

标签: php r command-line exec shell-exec

当我在命令提示符下编写此脚本时,它可以正常工作:

R CMD BATCH test.R

但是,当我尝试在Windows上的php中执行此代码时:

shell_exec(R CMD BATCH test.R)

它给了我一个错误:"库中的错误(光栅):包' raster'没有找到"
这没有意义,因为它确实可以在unix上运行!

1 个答案:

答案 0 :(得分:2)

几种可能性:

  1. 未安装光栅包

  2. PHP PATH在调用shell_exec时设置了不同的环境变量,因此它没有加载正确的库(尝试设置R_LIBS来修复它)。

  3. 尝试使用r的绝对路径而不是相对路径。

  4. 对于上面提到的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