【发布时间】:2021-08-07 23:59:27
【问题描述】:
当前项目的目的是在参与者每天多次填写问卷后,以漂亮的可视化方式呈现参与者的日常结果。
我决定使用 R 来计算数据并使用 Rmarkdown 来获得可视化效果。这一切都应该发生在 Raspberry Pi 上。我使用 PHP 文件在网络服务器 (Raspberry) 上创建了一个 .csv 文件(其中包含参与者的问卷数据)。这个 PHP 文件还应该运行一个 Rscript,然后运行 rmarkdown 命令,如下所示:
rmarkdown::render(input = "Testplot.Rmd", output_file = paste0("results_", ID, ".html"), params = (list(ID = ID)))
所以,如果我手动(通过 SSH)运行 Rscript,一切都会正常运行,并且 results_ID.html 会正确生成。
现在的问题是:如果参与者填写问卷并提交他们的数据,PHP 文件使用exec("Rscript /var/www/html/cmdRmd.R, $ID") 运行 Rscript,我总是收到 Pandoc 生成的此错误消息:
with_pandoc_safe_environment(system(paste(shQuote(path), "--version"), 中的错误: 'HOME' 环境变量必须在运行 Pandoc 之前设置。 调用:... FUN -> get_pandoc_version -> with_pandoc_safe_environment。 执行停止
我的猜测是它与 apache 的 www-data 用户有关(将在通过问卷提交数据时使用)。但我不知道如何为 www-data 用户设置一个 'HOME' 环境变量。
有人知道如何解决这个问题吗?
【问题讨论】:
-
为什么不直接调用pandoc作为命令行程序呢?见pandoc.org...关于家庭也许superuser.com/questions/271925/…
标签: php apache raspberry-pi r-markdown pandoc