cri*_*rix 12 php command-line r
我是R的新手,也是Linux(Ubuntu)命令行的新手.我正在尝试用PHP编写一个页面,其中包含我想在R中执行的命令,然后将结果传回给它们以便能够使用它们.我尝试过以下代码的变体,但我只得到R欢迎消息作为我的输出:
<?php
$rQuery = "\"echo 3 + 1;\" | /usr/bin/R --no-save";
exec($rQuery, $output);
print_r($output);
?>
Run Code Online (Sandbox Code Playgroud)
当我在命令行中手动输入$ rQuery时,结果就是我所期望的:[1] 4.
我知道我必须在那里找不到一些东西,但我无法通过自己的搜索找到它.
Dir*_*tel 11
几点:
您想要--slave作为选项,它暗示--no-save并关闭问候语; 请参阅手册了解更多信息.
你真正想要的是Jeff Horner优秀的R-inside-Apache,请看这里了解更多.它也可以使用像brew这样的模板框架.最重要的是,杰夫现在提供一个.deb软件包您:使用在.deb http://ppa.launchpad.net/jeffreyhorner/rapache/ubuntu lucid main/etc/apt/sources.list
如果硬要从PHP管道,考虑利特勒脚本前端杰夫和我写的.它会比R开始得更快
对于这么简单的事情,你甚至不应该使用PHP,因为你可以单独使用RApache,brew包和纯HTML(CSS/JS是可选的).只需阅读RApache手册并查看Jeroen Ooms的视频教程.你还应该阅读brew手册.杰夫真的做得很棒!
简而言之,您只需要设置apache2.conf或.htaccess文件即可.您可以使用指令代替使用<Directory>或<Location>指令,<FilesMatch>以便可以使用regexpr匹配文件.这是一个示例.htaccess:
<FilesMatch "^.+\.rhtml$">
SetHandler r-script
RHandler brew::brew
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
我使用特殊的文件扩展名.rhtml,我将HTML与R语法混合在一起<%并使用%>标签(参见brew文档).我没有使用brewPHP,因为brew用HTML做了伎俩.
无论如何,你说你想:
在PHP中编写一个页面,其中包含我想在R中执行的命令,然后将结果传回给它们以便能够使用它们
system或file.*命令并弄乱你的系统!你可以使用AppArmor,但它还有很长的路要走......XMLR包,或rjson(我最喜欢的,我推荐它).然后你可以将R对象传递给toJSON函数并用JavaScript反序列化它.当然,这是真实的,只有当你的客户的网络浏览器,否则,如果你说,想传递一些信息到嵌入式系统中,你应该使用标准XML三通如有任何其他问题,请使用RApache邮件列表.
......和你好R-webdev世界!=)
| 归档时间: |
|
| 查看次数: |
5134 次 |
| 最近记录: |