Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > не могу заставить скрипт создать файл


Автор: Greedsoul 11.3.2010, 18:48
И так, напомню, что я только начинаю знакомство с Perl. Есть маленький скриптик. У меня он прекрассно запускается, на сервере - ошибка 500 Server Error. Долго искал ошибку и пришел к выводу, что работает все, кроме создания файла. Когда я делаю вывод на экран - скрипт прекрасно работает, когда пытаюсь создать файл и вывод в него - ничего не получается. Так что опустим весь скрипт, попробуем загрузить просто вот этот скрипт:
Код

#!/usr/bin/perl

print "Content-type: text/html\n\n";

open(FILE, "file.txt");
close (FILE);
exit;


Файл попросту не создается. В сорсе результатирующей страницы <!-- SHTML Wrapper - 500 Server Error -->

Куда смотреть? В чем может быть дело?

Автор: dva300 11.3.2010, 18:59
Цитата(Greedsoul @ 11.3.2010,  18:48)
И так, напомню, что я только начинаю знакомство с Perl. Есть маленький скриптик. У меня он прекрассно запускается, на сервере - ошибка 500 Server Error. Долго искал ошибку и пришел к выводу, что работает все, кроме создания файла. Когда я делаю вывод на экран - скрипт прекрасно работает, когда пытаюсь создать файл и вывод в него - ничего не получается. Так что опустим весь скрипт, попробуем загрузить просто вот этот скрипт:
Код

#!/usr/bin/perl

print "Content-type: text/html\n\n";

open(FILE, "file.txt");
close (FILE);
exit;


Файл попросту не создается. В сорсе результатирующей страницы <!-- SHTML Wrapper - 500 Server Error -->

Куда смотреть? В чем может быть дело?

по умолчанию режим чтения
для записи 
Код

#!/usr/bin/perl

print "Content-type: text/html\n\n";

open(FILE, ">file.txt") or die "Не могу создать файл";
print FILE "пишу в файл который создается в этой директории.";
close (FILE);
exit;

Автор: Greedsoul 11.3.2010, 19:52
И так я пробовал. Просто решил опустить и запись в файл даже. Но можно рассматривать и такой случай. На моем хостинге не работает(

Автор: dva300 11.3.2010, 20:03
Цитата(Greedsoul @ 11.3.2010,  19:52)
И так я пробовал. Просто решил опустить и запись в файл даже. Но можно рассматривать и такой случай. На моем хостинге не работает(

быть такого не может. у меня работает.
перечень ошибок вызывающих ошибку 500 для примера можешь найти в google - perl ошибка 500

Автор: mvsgt 11.3.2010, 20:08
Все подобные ошибки отлавливаются запуском скриптов без браузера. Конечно, можно и через задницу всё делать...

Автор: Greedsoul 11.3.2010, 23:44
В том-то и дело, что у меня на компе все прекрасно изначально работало. А с серверами я работать не умею...

так, я нашел ошибку. два дня искал. ошибка все-таки в доступе к папкам. сначала, чтобы обезопаситься от того, что нет доступ со стороны чего-то поставил доступ к файлу 777. поставил на cgi-bin 755 и на папку, куда сохраняю 755 - и все стало ок.


Автор: dva300 12.3.2010, 01:08
Цитата(Greedsoul @ 11.3.2010,  23:44)
В том-то и дело, что у меня на компе все прекрасно изначально работало. А с серверами я работать не умею...

так, я нашел ошибку. два дня искал. ошибка все-таки в доступе к папкам. сначала, чтобы обезопаситься от того, что нет доступ со стороны чего-то поставил доступ к файлу 777. поставил на cgi-bin 755 и на папку, куда сохраняю 755 - и все стало ок.

особенно понравилось 
Цитата

Ягодицы Задняя часть: $Nates <br>

 smile  smile 

а если серьезно то зачем задавать вопросы если ответы не воспринимаем ?!
говорили же - google - perl ошибка 500
первая же ссылка - пункт 4 и мебель цела

Автор: mvsgt 12.3.2010, 01:21
Цитата(dva300 @  12.3.2010,  01:08 Найти цитируемый пост)
говорили же - google - perl ошибка 500


Конец света... PHP'шники пишут на перле... Куда катится мир?

Автор: Greedsoul 12.3.2010, 01:55
Вот ты пойди и погугли ошибка 500. Cmmon, люди, вы свои советы перед публикацией проверяете хоть как-то? Ошибка 500 - серверная ошибка. Может быть что угодно. Сервер не хочет выполнять скрипт. Хоть какого-то намека на класс ошибки в этом сообщение нету.

вот тебе к примеру самый вменяемы результат, вобщем-то первый результат. http://www.checkupdown.com/status/E500.html

Цитата

This is a 'catch-all' error generated by the Web server. Basically something has gone wrong, but the server can not be more specific about the error condition in its response to the client.

Автор: dva300 12.3.2010, 02:07
Цитата(Greedsoul @ 12.3.2010,  01:55)
Вот ты пойди и погугли ошибка 500. Cmmon, люди, вы свои советы перед публикацией проверяете хоть как-то? Ошибка 500 - серверная ошибка. Может быть что угодно. Сервер не хочет выполнять скрипт. Хоть какого-то намека на класс ошибки в этом сообщение нету.

как это нету - ошибка 500. основных причин нет так много.
но можно конечно пойти по другому пути - за..ть всех а потом чрез пару дней открыть Америку и по сути 
вернуться туда куда и посылали изначально.

P.S. вот тебе тоже самое но по русски http://ru-board.com/new/article.php?sid=147
 smile 

Автор: Greedsoul 12.3.2010, 02:37
Цитата

Всем папкам должны быть выставлены права 777. 

Вот где-то я такой совет уже видел))) Он меня и погубил на двое суток) 
Вобщем - гуглить для меня первое дело) не думай, что я пришел на форум потролить людей и поспрашивать людей, потому что мне лень открыть google) В конце концов не совсем уж я и дурак, и понимаю, каково оно пытаться помочь новичку, который сам ничего делать не хочет...) Но я уже реально двое суток бился и дрался с сервером, скриптом. И гугл я уже весь обсмотрелся. Проблема реально в том, что ошибка 500 это почти что угодно...)
Ну вобщем, думаю мы друг друга поняли) Искренне спасибо за помощь)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)