0

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="<%=filename%>" 中提供完整路径时,它会将其视为 /usr/local/apache2/htdocs/filename.png,阿帕奇不知道这是什么。有任何想法吗?

4

2 回答 2

1

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

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

于 2012-03-07T20:55:25.017 回答
1

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

尝试更换

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

<img src="<%=gsub('/usr/local/apache2/htdocs', '', filename)%>"/>
于 2012-03-08T06:51:55.307 回答