Проблемы с Perl Dancer во время работы CGI с dispatch.cgi

Я пытаюсь запустить свой проект на Dancer (perl 5.16.3 и centos 5.10), и до сих пор это был приятный опыт - пока я не попытался развернуть его на сервере.

Я решил сделать самое простое и запустить его как приложение CGI с помощью скрипта dispatch.cgi по умолчанию из дистрибутива Dancer.

Я использовал настройки Apache по умолчанию из руководства Dancer::Deployment, но что-то пошло не так. После дня борьбы с наполовину работающим проектом я вывел следующую странную вещь: при запуске через dispatch.cgi мой проект может читать из базы данных sqlite, но не может записывать в базу данных, поэтому Dancer::Session::DBI был не работает должным образом и, следовательно, проблемы.

Если я запускаю проект с автономным app.pl или с

plackup -E production -p 80 bin/app.pl

он отлично работает и может вставлять данные в БД. Я пытался изменить разрешения на 0666 для файла sqlite db, но это не помогло.

Так почему же проблема с sqlite при работе в качестве CGI и как это исправить?

1 ответ

Ну, это была проблема с правами доступа, но не для файла dbase - для каталога, содержащего этот файл! Судя по всему, sqlite создает некоторые временные файлы при обновлении баз. Осторожно.

Другие вопросы по тегам