Rscript ведет себя по-разному при запуске из командной строки и из PHP Exec

0

Привет Я запускаю Rscript с PHP exec, и он ведет себя странно....... Он запускает R, но выдает ошибку в следующей строке:

filein = filein[,c("id","bank","trans_date","description","description_2",
                 "description_3","description_4","description_5" ,"type",
                 "debit","credit","statement_balance", "cleared_balance",
                 "debit_int_rate","credit_int_rate","category")]

Это простое перераспределение столбцов в наборе данных.

Это вызывает следующую ошибку:

Ошибка в

[.data.frame'(filein, , c("id", "bank", "trans_date", "description", 
:  undefined columns selected

Однако я запускаю тот же скрипт из командной строки, что он запускается без какой-либо ошибки.

(Я запускаю Rscript на машине ubuntu 14.04 с PHP5...... также, когда я запускаю тот же скрипт на Windows-машине с PHP, он также отлично работает)

У кого-нибудь есть идеи, почему это так?

  • 0
    Вы уверены, что символ "_" не каким-то образом читается при импорте кадра данных с использованием PHP5? - проверить, как названы столбцы, добавив «print colnames (filein)». Я думаю, что это может быть проблема синтаксического анализа текста, которая изменяет имя столбцов.
  • 0
    PHP работает с другими правами, чем Rscript, поэтому он может не иметь доступа к файлу.
Показать ещё 4 комментария
Теги:
rscript

1 ответ

0

Спасибо за всю вашу помощь... Так что это не проблема с разрешениями (я исправил их ранее)....... проблема была: команда ----The, переданная в командную строку PHP exec, была sudo/Rscript/home/xin/Documents/ClassificationApp/ClassificationAllInOne.R " http://localhost/categorisation/public/classification/data/1423746975.json "

Однако аргумент, полученный R, был "localhost/category/public/1423746975.json2";

По какой-то причине комбинация Ubuntu/PHP добавила 2 к концу строки аргументов.... Я добавил строку в ClassificationAllInOne.R, чтобы удалить 2, и она отлично работала

Ещё вопросы

Сообщество Overcoder
Наверх
Меню