php жрет запрос OpenCPU POST для простой функции R DemoPackage
$response = $client->request('POST','http://178.254.13.220/ocpu/library/DemoPackage/R/addition/json', ['json' => $jsontext, 'debug' => true]);
зависает во время выполнения на сервере Ubuntu. Функция простого сложения добавляет 2 числа и возвращает сумму как результат (см. Код ниже).
Если «POST» изменяется на «GET», запрос доставляет правильный исходный код добавления функции в тело переменной с помощью команды: $ body = $ response-> getBody ();
На локальном компьютере Mac, где была разработана и протестирована функция, DemoPackage работает нормально. Мои другие пакеты R на сервере Ubuntu работают отлично, однако я не смог найти ошибку в этом простом примере добавления 2 чисел.
addition <- function(jsontext)
{
tmp <- unlist(jsonlite::fromJSON(jsontext))
a <- as.numeric(tmp[[1]])
b <- as.numeric(tmp[[2]])
c <- a + b
aValue <- as.character(round(a))
bValue <- as.character(round(b))
cValue <- as.character(round(c))
pValue_dataframe <- data.frame(aValue,bValue,cValue)
result <- list(sum = pValue_dataframe)
result_json <- toJSON(result)
return(result_json)
}
Код php отстой при выполнении запроса POST. С опцией отладки http запроса появляется сообщение об ошибке, однако я не могу его интерпретировать и не знаю, что делать. Сообщение об ошибке:
Найден пакет для хоста 178.254.13.220: 0x28d6b90 * Повторное использование существующего соединения! (# 0) с хостом 178.254.13.220 * Подключено к 178.254.13.220 (178.254.13.220) порт 80 (# 0)> POST / ocpu / library / DemoPackage / R / Добавление / json HTTP / 1.1 User-Agent: GuzzleHttp / 6.2 .1 curl / 7.35.0 PHP / 5.5.9-1ubuntu4.20 Тип контента: application / json Хост: 178.254.13.220 Длина контента: 67 * загрузка полностью отправлена: 67 из 67 байтов