无法使用R酿造

时间:2012-03-07 19:39:47

标签: apache r rapache

brew的httpd.conf文件配置是这样的:

<Directory /usr/local/apache2/htdocs/brew>
        SetHandler r-script
        RHandler brew::brew
        DefaultType text/html
</Directory>

在brew文件夹下,我有这个文件:

<html>
<body>
<%
library(Cairo)
filename <- paste(tempfile(tmpdir='/usr/local/apache2/htdocs'), '.png', sep='')
CairoPNG(filename)
x<-1:10000
plot(x, type="l", col="red")
dev.off()
%>
<img src="<%=filename%>"/>
</body>
</html>

我将所有权限777设置为安全,至少在我开始工作之前。

当我调用http://localhost/brew/temp.brew时,我看到文件正在htdocs文件夹下生成,但是浏览器没有显示图像,导致图像损坏。我错过了什么?再次感谢这个小组的所有帮助。

当我尝试酿造这样简单的东西时,我会在浏览器上打印出来:

<%
x<-1:1000
print(x)
%>

这可能与apache有关。当我这样做时:

 <%=filename%>

我在浏览器上看到了这个:

/usr/local/apache2/htdocs/file199c5ea9644c.png

我的apache主目录是/ usr / local / apache2 / htdocs,但是当提供完整路径时       img src =“&lt;%= filename%&gt;” 它将其视为/usr/local/apache2/htdocs/filename.png,apache不知道这是什么。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您需要安装RApache:http://rapache.net/

RApache是​​一个带有R的Apache模块,用于解释服务器上的brew代码并呈现正确的html页面。

答案 1 :(得分:1)

本地文件名及其完整名称仅为服务器所知(apache): 对于客户端(您的Web浏览器),您需要URL或相对路径。 特别是,/usr/local/apache2/htdocs前缀不应再存在。

尝试替换

<img src="<%=filename%>"/>

<img src="<%=gsub('/usr/local/apache2/htdocs', '', filename)%>"/>