【问题标题】:Rscript does not work when invoked in PHP but does from Command PromptRscript 在 PHP 中调用时不起作用,但从命令提示符中调用
【发布时间】:2013-07-22 22:29:18
【问题描述】:

我正在尝试使用 exec 函数从我的 PHP 页面执行 R 脚本。我已经在 Windows 中设置了环境变量,并且 Rscript 在命令提示符下工作正常。但是在 PHP 页面上它说,“'Rscript' 不被识别为内部或外部命令、可运行程序或批处理文件。”

任何帮助将不胜感激。

【问题讨论】:

  • 您是否将 Rscript 的完整路径传递给 PHP?
  • 我传递了名为 my_rscript.R 的 R 脚本的完整路径。如何传递 Rscript 的完整路径?
  • 我指的是Rscript.exe二进制文件的完整路径,而不是你的脚本文件。
  • 没有。我怎么做?请帮忙

标签: php r rscript


【解决方案1】:

我会定义一个launcher.bat 我处理的所有R-paths 问题:

PATH PATH_TO_R/R-version/bin;%path%
cd PATH_TO_R_SCRIPT
Rscript myscript.R arg1 arg2

那么在php这一边就可以使用exec

   <?php
exec('c:\WINDOWS\system32\cmd.exe /c START PATH_TO_LAUNCHER\LAUNCHER.bat');
?>

【讨论】:

  • 我真的很想把它整合到我的网页中。运行批处理文件真的可取吗?因为每次我传递一个值时,我都会看到一个命令窗口打开并且所有命令都在执行。有没有办法避免这种情况发生?
  • 我在这个问题上花了很多时间,这是第一个让 Rscript 从浏览器中的 php 代码运行的解决方案。正如@user1523478 所提到的,如果没有 cmd 弹出窗口,我将不胜感激。欢迎任何建议。谢谢!
猜你喜欢
  • 1970-01-01
  • 2011-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多