如何使用exec通过PHP运行R?

如何使用exec通过PHP运行R?,php,r,exec,Php,R,Exec,我要问一些事情,我知道已经有人问过很多次了。但是从那时起,所有过去的帖子都很老了,没有一个能回答我的问题。我再试一次。 我是R语言的新手,php的新手。 我想做的是使用php中的exec()函数来执行R脚本。 这里的大多数人都会开始谈论rapache、rserve,我不知道还有什么……但由于我不熟悉所有这些技术,我更喜欢使用exec 当我从终端使用Rscript运行它时,我将在这里显示的代码工作正常。 #R脚本 巴布亚新几内亚(“临时巴布亚新几内亚”) 地块(5,5) 发展主任() 但当我尝试使

我要问一些事情,我知道已经有人问过很多次了。但是从那时起,所有过去的帖子都很老了,没有一个能回答我的问题。我再试一次。 我是R语言的新手,php的新手。 我想做的是使用php中的exec()函数来执行R脚本。 这里的大多数人都会开始谈论rapache、rserve,我不知道还有什么……但由于我不熟悉所有这些技术,我更喜欢使用exec

当我从终端使用Rscript运行它时,我将在这里显示的代码工作正常。 #R脚本 巴布亚新几内亚(“临时巴布亚新几内亚”) 地块(5,5) 发展主任()

但当我尝试使用Rscript或PHP中的R CMD批处理运行它时,如下所示:
       echo exec("Rscript my_rscript.R"); //OR
       //echo exec("R CMD BATCH my_rscript.R");
我没有得到任何回报

我已经检查了exec()函数是否可用以及是否有效。这一切都好。 我还读到,我可能必须更改Web服务器的权限…但我不知道如何在mamp中做到这一点

我希望我清楚我的问题,有人可以帮助我

谢谢
Dimitris不确定这是否适用于图像,但在将结果存储到exec()函数的第二个参数之前,我没有得到任何反馈


不确定这是否适用于图像,但在将结果存储在exec()函数的第二个参数中之前,我没有得到任何结果


这对我来说起到了作用,使图像保存到目录中并在网页上可见。从命令行:

       echo exec("Rscript my_rscript.R"); //OR
       //echo exec("R CMD BATCH my_rscript.R");
chown www-data:www-data /usr/bin/Rscript
chown www-data:www-data -R /PATH/TO/RSCRIPTFOLDER

首先更改了Rscript可执行文件的权限,然后对包含.php文件、.R文件等的整个文件夹执行了相同的操作。

这对我来说很有效,可以将图像保存到目录并在网页上显示。从命令行:

       echo exec("Rscript my_rscript.R"); //OR
       //echo exec("R CMD BATCH my_rscript.R");
chown www-data:www-data /usr/bin/Rscript
chown www-data:www-data -R /PATH/TO/RSCRIPTFOLDER

首先更改了Rscript可执行文件的权限,然后对包含.php文件、.R文件等的整个文件夹执行了相同的操作。

这在命令提示窗口中有效吗?如果不正确,则可能是安装不正确,或者可执行文件不在系统路径中。@cryptic:当我在命令窗口(Rscript my_Rscript.R)中运行R脚本时,它会工作。并在桌面上返回一个png绘图。将文件的权限设置为755(允许所有人读取/执行),看看这是否解决了问题,如果解决了,那就是权限问题。抱歉,但我在这些方面完全是新手。您的意思是更改R文件的权限?我这样做了:chmod u=rx my_rscript.R但是当我想对php文件执行相同操作时,我得到了以下错误:chmod:“无法更改test.php上的文件模式:不允许操作”文件做什么?如果要访问文件和目录,这些文件/目录也需要具有适当的权限。该文件将作为服务器运行,因此脚本访问的所有文件/目录都需要允许服务器访问。这在命令提示窗口中有效吗?如果不正确,则可能是安装不正确,或者可执行文件不在系统路径中。@cryptic:当我在命令窗口(Rscript my_Rscript.R)中运行R脚本时,它会工作。并在桌面上返回一个png绘图。将文件的权限设置为755(允许所有人读取/执行),看看这是否解决了问题,如果解决了,那就是权限问题。抱歉,但我在这些方面完全是新手。您的意思是更改R文件的权限?我这样做了:chmod u=rx my_rscript.R但是当我想对php文件执行相同操作时,我得到了以下错误:chmod:“无法更改test.php上的文件模式:不允许操作”文件做什么?如果要访问文件和目录,这些文件/目录也需要具有适当的权限。该文件将作为服务器运行,因此脚本访问的所有文件/目录都需要允许服务器访问。很好,这是我第一次从rscript输出中在web浏览器中显示任何内容。遗憾的是,它无法解决OPs(和我的)问题,无法将图像保存到目录并显示在页面上。很好,这是我第一次从rscript输出中在web浏览器中显示任何内容。遗憾的是,对于OPs(和我的)问题,将图像保存到目录并显示在页面上并不起作用。
       echo exec("Rscript my_rscript.R"); //OR
       //echo exec("R CMD BATCH my_rscript.R");