Как выполнить Ruby Script из веб-приложения LAMP - PullRequest
0 голосов
/ 14 января 2012

Я установил rvm (опция mutiuser) и ruby, используя "rvm install" на моем тестовом сервере под управлением Ubuntu. Если я вхожу в систему и выполняю "ruby test.rb", скрипт запускается правильно. Но если я выполняю его, используя «exec» из моего php-кода, я получаю сообщение об ошибке.

Если я "su www-data" и пытаюсь выполнить скрипт, я получаю ту же ошибку, поэтому я предполагаю, что вопрос заключается в том, как получить "www-data", чтобы иметь правильную среду для выполнения скриптов Ruby. Я уже пытался добавить "www-data" в группу "rvm" и не работает. Если я укажу полный путь к бину Ruby, сценарий будет выполнен, но завершится неудачно, когда требуются гемы.

Я также пытался выполнить .sh, где первая строка - "rvm use ruby-xxx", а вторая - "ruby test.rb" и тоже не работает.

Должен ли я установить Ruby с помощью "apt-get install"?

Большое спасибо.

1 Ответ

0 голосов
/ 14 января 2012

Хм, я не знаю насчет многопользовательской версии, но если вы работаете с однопользовательской версией, вы можете запускать скрипты от имени этого пользователя, например:

/bin/su - postgres -c "/path/to/backup_db.sh /tmp/test"

См. на этот вопрос и ответы .

...