Как я могу взаимодействовать с Rserve через PHP в системе LAMP?

Я пытаюсь выполнить файл PHP, который взаимодействует с Rserve в системе LAMP. Файл PHP находится в каталоге public_html на сервере. Rserve установлен и работает в каталоге Rserve по умолчанию в R (/usr/lib64/R/library/Rserve). Существует ли определенная папка, в которой должны находиться файлы PHP для правильного подключения к Rserve? Нужно ли использовать удаленное соединение, когда файлы Rserve и PHP находятся на одном сервере?

Файл PHP возвращает эту ошибку: No path specified.Invalid response from server.Connect FAILED

Пример тестового файла PHP-Rserve:

<?php
require_once 'simple.php';
$s = Rserve_connect();
if ($s == FALSE) {
     echo "Connect FAILED";
} else {
     print_r (Rserve_eval($s, "list(str=R.version.string,foo=1:10,bar=1:5/2,logic=c(TRUE,FALSE,NA))"));
 echo "<p/>";
     print_r (Rserve_eval($s, "{x=rnorm(10); y=x+rnorm(10)/2; lm(y~x)}"));
 Rserve_close($s);
}
ob_end_flush();
?>

Результат телнета:

#telnet 127.0.0.1 6311
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Rsrv0103QAP1

Результат процесса:

# ps ax|grep Rserve
14028 ?      Ss  0:00  /usr/lib64/R/bin/Rserve
15264 pts/3  S+  0:00  grep Rserve

person user2932733    schedule 18.12.2013    source источник
comment
Это не ясно. PHP работает? Если нет, то как? Что нам должны показать эти «результаты telnet» и «результаты процесса»? RServe не важно, где находятся ваши файлы PHP, но ваш веб-сервер будет. Итак... что не работает?   -  person Spacedman    schedule 18.12.2013
comment
Я отредактировал вопрос. PHP-скрипт не работает. Ошибка показана выше. «Результат telnet» и «результат процесса» показывают, что Rserve запущен и доступен на «localhost» (127.0.0.1).   -  person user2932733    schedule 18.12.2013
comment
Предполагая, что simple.php — это файл, поставляемый с Rserve, правильно ли вы его отредактировали, потому что на самом деле он не предназначен для использования именно так. Вы где-то следуете какой-то документации?   -  person Spacedman    schedule 18.12.2013
comment
simple.php — это файл, поставляемый с Rserve. Я не изменил файл. Я использовал тестовую часть файла simple.php в нижней части файла. /*========== user code -- example and test -- comment out the above and uncomment this for testing   -  person user2932733    schedule 18.12.2013
comment
см. stackoverflow.com/questions/ 30465768/   -  person manojmo    schedule 18.07.2016


Ответы (1)


я думаю, вам нужно будет передать параметры хоста и порта для подключения. пример

Rserve_connect( localhost, 6311)
person manojmo    schedule 18.07.2016