Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用php在shell中执行R脚本_Php_R - Fatal编程技术网

无法使用php在shell中执行R脚本

无法使用php在shell中执行R脚本,php,r,Php,R,我正在尝试构建一个接口,该接口允许输入一个查询,该查询将传递给在同一文件夹中找到的R脚本,该脚本执行一些计算并打印输出: 运行php的进程很可能在其.ini文件中禁用了指令\u functions=shell\u exec,也可能禁用了其他指令 这样做是出于安全原因。请向您的主机提供商咨询是否存在这种情况。 请注意,他们很可能不愿意更改此设置 php的命令行版本的.ini文件与php的Web服务器或process manager不同。这很可能是从命令行调用时可以使用shell_exec的原因

我正在尝试构建一个接口,该接口允许输入一个查询,该查询将传递给在同一文件夹中找到的R脚本,该脚本执行一些计算并打印输出:


运行php的进程很可能在其.ini文件中禁用了指令\u functions=shell\u exec,也可能禁用了其他指令

这样做是出于安全原因。请向您的主机提供商咨询是否存在这种情况。 请注意,他们很可能不愿意更改此设置

php的命令行版本的.ini文件与php的Web服务器或process manager不同。这很可能是从命令行调用时可以使用shell_exec的原因


作为旁注:您应该至少对$\u POST变量中接受的参数执行一些清理。

好的,多亏了rickdenhaan,我发现shell没有识别“Rscript”命令,并且使用它工作的绝对路径/usr/local/bin/Rscript

我实际上可以通过某些命令执行,例如pwd、ls、,格雷普等。。没有任何问题,您是否尝试过使用h-index.R脚本的完整路径?shell_exec可能没有与PHP脚本保持相同的工作目录。此外,shell_exec仅返回标准输出。如果Rscript在stderr上出现错误,您可以尝试在命令末尾添加2>&1以将该错误重定向到stdout,以便您可以看到它。是的,我尝试使用完整路径。。并通过exec pwd确保它们位于同一文件夹中。。。感谢您提供有关2>&1的提示!它说找不到sh:Rscript:command