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)
%>

これは、アパッチに関連している可能性があります。私がこれをするとき:

 <%=filename%>

私はこれをブラウザで取得します:

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

私のapacheホームディレクトリは/usr/ local / apache2 / htdocsですが、フルパスがimg src = "<%= filename%>"で指定されている場合、/ usr / local / apache2 / htdocs/filename.pngと表示されます。 Apacheはこれが何であるかを知りません。何か案は?

4

2 に答える 2

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 に答える