Запуск скрипта R с веб-страницы php

Я пытаюсь создать php-файл, который позволяет пользователям запускать R-скрипт, чтобы им не нужно было открывать сеанс на сервере, а просто открывать браузер.

Обычный bash из скрипта работает нормально (скажем, эхо «что-то», копирует и перемещает файлы данных, …), но R-скрипт не работает. R вызывается с помощью Rscript

Rscript --no-save --no-restore --verbose ./RAMS-mapa-onades-zones-manual.R > outputFile.Rout 2>&1

R выход дает эту ошибку

running
'/usr/lib/R/bin/R --slave --no-restore --no-save --no-restore'

Error in library("rgdal") : there is no package called 'rgdal'
Execution halted

Ну, библиотека (rgdal) — это первая строка скрипта R. Rgdal присутствует в установке R, и скрипт работает нормально (Rscript myscript.R) из командной строки.

Начиная с php, пользователь, выполняющий R, является www-данными, в то время как на терминале пользователь — meteo. Мне кажется, что некоторая переменная окружения должна быть установлена ​​в выполнении php Rscript, но я не могу найти способ сделать это.

Любая идея? заранее спасибо

3

Решение

Кажется, мы нашли причину в комментариях. Пути к библиотекам не совпадают, но вы можете сделать так, чтобы они соответствовали с помощью параметра lib.loc функции library (). Как это:

library(rgdal, lib.loc = c("/home/meteo/R/i686-pc-linux-gnu-library/3.1", "/usr/local/lib/R/site-library", "/usr/lib/R/library"))
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]