URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 4604
[ Назад ]

Исходное сообщение
"Что значат эти строчки в Perl скрипте"

Отправлено cherepashka , 06-Янв-07 18:56 
Здравствуйте, дорогие форумчане! Помогите плиз. Сразу скажу, что в Perl не шарю.
Проблема такова. Я установил cms 4Site (может кто ставил?)(она на перле). Там есть регистрационная форма. После ввода нужных данных нажимаем на кнопку (данные правильные) и вылетает ошибка mkdir {: Permission denied at /usr/lib/perl5/site_perl/5.8.8/CGI/Session/Driver/file.pm line 34
Я залез в указанный файл и, как понял ошибка связана с невозможностью создать директорию для хранения там сессионных данных. Вроде бы директория эта должна создаваться в /tmp, куда все могут писать. Код в перл-модуле, вызывающем ошибку, в районе 34 строки такой

sub init {
    my $self = shift;    #
    $self->{Directory} ||= File::Spec->tmpdir(); #

    unless ( -d $self->{Directory} ) {
        require File::Path;
        unless ( File::Path::mkpath($self->{Directory}) ) {
            return $self->set_error( "init(): couldn't create directory path: $!" );
        }
    }

Эта функция и вызывает ошибку. Здесь ООП я смотрю. Расскажите пли, что делает эта функция, чтобы знать, куда копать?

Заранее спасибо.


Содержание

Сообщения в этом обсуждении
"Что значат эти строчки в Perl скрипте"
Отправлено asciiz , 11-Янв-07 00:54 
Нет прав для создания каталога. А вот где оно пытается его создать - хз. И под каким пользователем оно его пытается создать - тоже неплохо было бы выяснить :)