Невозможно варить, используя R - PullRequest
0 голосов
/ 07 марта 2012

Конфигурация файла httpd.conf для brew:

<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, apache не знает, что это такое. Есть идеи?

Ответы [ 2 ]

1 голос
/ 08 марта 2012

Локальное имя файла с его полным именем известно только серверу (apache): для клиента (вашего веб-браузера) вам нужен URL или относительный путь. В частности, префикс /usr/local/apache2/htdocs больше не должен быть там.

Попробуйте заменить

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

с

<img src="<%=gsub('/usr/local/apache2/htdocs', '', filename)%>"/>
1 голос
/ 08 марта 2012

Вам необходимо установить RApache: http://rapache.net/

RApache - это модуль Apache с R, который интерпретирует ваш код brew на сервере и отображает правильную HTML-страницу.

...