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


Автор: Throne 28.6.2006, 15:42
Проблема такова:
пишу значит скрипт для проверки
Код

#!/usr/bin/perl
print "Content-type: text/html\n";
print "\n\n";
print "testirovanie.";

кидаю на сервер, а он выдаёт http://dinasco.ru/cgi-bin/index.cgi
Пишу админу, спрашиваю чё такое, а он говорит
Цитата

____, рекомендую почитать материал по этой теме. Такое когда синтаксис неправильный. У вас в каталоге лежит файл error_log

скажите пожалуйста когда вообще может выдать интернал еррор, и правильный ли у меня код. 

Автор: korob2001 28.6.2006, 16:55
Код
print "Content-type: text/html\n\n";


Обрати внимание на кол-во переводов строки.  

Автор: Throne 28.6.2006, 17:29
гм, и из-за этого вся конитель?! 

Автор: korob2001 28.6.2006, 20:30
Ну вобщем, да. У тебя не верно заканчивается заголовок, потому и получаешь Internal Server Error. 

Автор: Throne 28.6.2006, 21:21
нет, не в это дело...
вот что написано в error_log'е
Цитата
[Wed Jun 28 22:19:41 2006] [error] (2)No such file or directory: exec of /home/VIRTUAL/dinasco/cgi-bin/index.cgi failed
[Wed Jun 28 22:19:41 2006] [error] [client 195.225.128.118] Premature end of script headers: /home/VIRTUAL/dinasco/cgi-bin/index.cgi

добавил два перевода а всё-равно интернал еррор 

Автор: djkostya 29.6.2006, 09:31
Права на скрипт какие ?
Есть ли возможность исполнять скрипты.....?


Вобщем у тебя проблема не в скрипте а в Апаче.... 

Автор: sharq 29.6.2006, 09:40
Throne, из-за твоего перевода строк не будет 500 ошибки.
Проверь права на файл, должны быть 0755 + на директорию cgi-bin/ те же, 
проверь символ перевода строки, если сервер nix'овый, то каждая строка твоего скрипта должна заканчиваться \n,
проверь, где находиться perl на сервере.

Запускай. Если опять ошибка, то криво настроен cgi-bin на сервере.

 smile   

Автор: Throne 29.6.2006, 15:03
Таак переводы строки помогли, проверил на своем компе – всё работаёт, выложил на сервак проверил права – 755, запускаю – хер! Вывод – сисадмин мудак. буду ему почтовый ящик забивать. 

Автор: rcdimon 30.6.2006, 09:31
напиши

#!/usr/bin/perl -w 

Автор: Throne 30.6.2006, 13:28
УРА!
У меня всё заработало!
Тот сисадмин был реальный мудак... но на смену ему пришёл другой, вполне нормальный, человек.
Вот что он мне ответил в очередном письме:
Цитата
Проблема, вероятнее всего в том, что при передаче файлов Вы используете бинарный режим. При этом в Вашем файле остаются dos-окончания Попробуйте передавать файлы в ascii режиме (тогда окончания преобразовываются)

Проверил, и о чудо всё чудодейственно заработало! smile даже с одним переводом строки smile 
Всем спасибо, вопрос решён. smile  

Автор: nitr 30.6.2006, 23:00
я конечно извиняюсь... но это даже не смешно
Цитата
даже с одним переводом строки smile 
 

Автор: Throne 1.7.2006, 16:58
Хм... а я ведь по настоящему-то один перевод не проверял... Только программой редактором синтаксис проверил... она на один перенос не ругалась smile  

Автор: rcdimon 1.7.2006, 19:01
use CGI;

print header; 

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