php - 从 PHP 运行 RMarkdown
问题描述
我正在尝试使用exec()命令从 PHP 运行 RMarkdown。尝试编织我的 .Rmd 文件时,我收到以下错误:
Execution haltedArray (
[0] => Error in with_pandoc_safe_environment(system(paste(shQuote(path), "--version"), :
[1] => The 'HOME' environment variable must be set before running Pandoc.
[2] => Calls: <Anonymous> ... FUN -> get_pandoc_version -> with_pandoc_safe_environment
[3] => Execution halted )
该命令Rscript -e "rmarkdown::render('path/to/file.Rmd')"
在命令行上运行良好。
解决方案
它在那里说出了什么问题:它需要HOME
设置一个环境变量。不确定您的环境是什么,但您可以在命令按预期工作的 shell 中找到它的值:
echo $HOME
然后将该值添加到您的exec()
调用中:
exec("HOME=/the/path/you/got/before $theRMarkdownCommandYouNeed")
或者您可能需要另一个路径,特定于您运行 PHP 的用户。
推荐阅读
- sql - 将单独的日期和时间数据类型转换为我想在表中使用的格式
- python - 如何为 http 响应标头编码二进制图像数据?
- python - 实时复制和粘贴到 Excel
- autodesk-forge - 在 Unity 中获取 BIM 360 场景 ID
- c++ - 是否可以混合 SFINAE 和模板专业化?
- ios - UIColorPickerViewController 颜色选择
- variables - 根据多列中的值创建变量?
- windows - 使用 powershell Invoke 命令自动化 robocopy - 远程会话
- scala - scala中的特殊语法
- html-table - 我应该在查询字符串或会话存储中存储基本信息(如表排序或页码)吗?