目标: 从wordpress页面运行简单的Rscript。从wordpress安装运行exec()Rscript
- 我目前正试图在加载页面时使用exec()来运行Rscript。该脚本创建从整数1到10的100个随机样本的直方图,将系统时间写入标题并将图保存为.png文件。
设置:
- 运行的WordPress安装在Ubuntu EC2微实例
- R已经被成功地安装和通过ssh
- 使用Exec的-PHP WordPress插件使得PHP代码可以测试写入并执行(测试成功)
PHP代码(WordPress的页内)
<?php
echo "This is the Exec-PHP 'Hello World'\n";
echo exec("date");
?>
<?php
exec("Rscript <PATH>/test.R");
?>
<img src="<Image Location>/samplePlot.png" alt="" title="Sample R" />
RSCRIPT - test.R
png("<Image Location>/samplePlot.png")
hist(sample(1:10, 100, replace = TRUE), main= Sys.time(), lwd = 5)
dev.off()
图像文件加载,但它没有更新,说明RSCRIPT从来没有被执行。我已经将它归结为这个问题,但不确定这是为什么。
我该如何调试?我真的不知道任何PHP的,但我试过如下:
<?php
exec("\usr\bin\Rscript <PATH>/test.R", $output, $result);
echo $output;
echo $result
?>
将返回:
Array2
我希望得到的命令行输出来检查错误。这可能吗?
它按预期从命令行工作吗? r脚本需要多长时间才能运行 – 2011-12-12 22:55:27
当我以普通用户的身份登录时,它确实有效。该脚本执行得非常快。这可能是一个权限问题吗?无法写入?我将如何检查这个?我无法从php exec()调用获取任何输出。 – bnjmn
我猜脚本运行时,HTML发送给用户,所以他们下载旧版本的情节,而它正在更新 – hadley