Вопросы и ответы - Макхост

Почему Perl скрипт выдает Internal Server Error?

Perl скрипт выдает Internal Server Error. Почему?

19.11.2015   15:49
Сотрудник Иванов Виктор
 нет комментариев
ОТВЕТЫ НА ВОПРОС (1)
Сотрудник Иванов Виктор

Этому может быть несколько причин:

- неверные права у файла скрипта, должны быть 755
- файл скрипта содержит windows переносы строк
- неверно указан путь к perl
- ошибка в самом скрипте

Скрипты, написанные на языке Perl, в операционных системах Unix должны иметь правильный перенос строки. В операционной системе Windows в конце каждой строки ставится символ переноса строки и символ возврата каретки. В системах Unix используется только символ переноса строки. В результате скрипты, написанные под системой Windows и закаченные по FTP не в ASCII режиме, не работают.

Самый простой способ решить данную проблему - это перезакачать все Perl-скрипты в ASCII режиме. В этом режиме FTP клиент автоматически заменит все Windows-окончания строка на Unix-окончания.

Если описанный выше способ не помогает, то можно убрать перенос строк выполнив следующую команду через SSH:

perl -i -npe 's/\r//' myscript.pl

где myscript.pl имя вашего скрипта.

 

19.11.2015   15:51
 Комментировать

Для ответа нужно зарегистрироваться или авторизоваться.