Q: Я положил скрипт на сервер, ввожу его путь в браузер, но вместо того,
чтобы выполнять скрипт, браузер выводит его исходный текст.
A: Чтобы сервер запускал скрипт и выдавал результаты его работы, необходимо
объяснить серверу, что этот файл -исполняемый. Существующее в
unix-системах понятие "атрибуты файла" отличается от атрибутов в DOS/Windows,
и в unix исполняемый файл определяется не расширением, а атрибутом.
Если сервер работает на unix-системе, необходимо проставить на
файлатрибуты исполняемого файла. Это делает команда "chmod 0755 file",
если вы работаете через telnet или ssh, или же продвинутый FTP-клиент типа
CuteFTP или FAR ftp plugin. Атрибуты файла, который могут исполнять
все желающие (в том числе и сервер), выглядят в буквенном представлении, как
-rwxr-xr-x
Если вы работаетев win32 среде, достаточно определить программу,
запускающую файлы с расширением, которое вы даете скриптам - например, cgi.
Для этого нужно в windows explorer'е дважды кликнуть по файлу .cgi, и
выбрать perl\bin\perl.exe в качестве запускающей программы.
Q: При попытке запустить скрипт происходит 500 Internal Server Error! Что это за
ошибка?
A: Это, строго говоря, просто сообщение об одной из ошибок, приведших к
невозможности нормального выполнения скрипта. Узнать что же привело к этому можно в большинстве случаев из логов сервера.(*)
Чаще всего возникает в следующих случаях:
1) в первой строке отсутствует или неправильно указан путь к perl. обычно это
#!/usr/local/bin/perl или #!/usr/bin/perl
2) Файл со скриптом содержит DOS-овые концы строк 0x0D 0x0A. В юниксе конец
строки- только 0x0A. Чтобы исправить это, воспользуйтесь соотв. возможностью
редактора FAR(shift-f2, asUnix text), или призакачке скрипта на ftp
используйте ASCII-режим вместо бинарного.
3) Скрипт невыводит ничего во время работы, или не выводит заголовок.
Hеобходимо, чтобы он выводил хотя бы content-type заголовок, например:
print "Content-type: text/html\n\n";