Январь 31, 2006
Отладка CGI-скриптов на Perl (Часть 5)
Окончательная отладка CGI-скриптов на сервере
Итак, Ваш скрипт работает на локальном компьютере прекрасно, теперь настало время перенести его на сервер.
Итак, на что следует обратить внимание:
1. Путь к Perl в первой строчке.
Измените его на путь к Perl Вашего хостинга. Отлаживая скрипт, Вы либо вообще не нуждались в этой строчке, либо, если Вы вели отладку на Apache, то этот путь на Вашем компьютере скорее всего другой.
Лучше, конечно, позаботиться об этом заранее и сделать путь к Perl на локальном компьютере такой же, как и на сервере. Для этого надо интерпретатор Perl установить на тот же диск, на котором стоит Apache, с таким расчетом, чтобы perl.exe лег по тому же пути, что и на сервере. Т.е. если на локальном компьютере Apache стоит на C:, а на сервере путь к Perl /usr/bin/perl, то на локальной машине perl.exe должен находиться в С:/usr/bin/. В частности, Active Perl от ActiveState нужно устанавливать в папку C:/usr (а не C:/perl, как предлагается по умолчанию).
2. Пути к другим программам, используемым CGI-скриптом.
3. Имена файлов, к которым обращается скрипт.
В Windows нет различий между заглавными и строчными буквами в именах файлов, т.е. A.TXT и a.txt - идентичные имена. В UNIX, на базе которого работает большинство интернет- серверов, заглавные и строчные буквы в именах файлов - различные символы. Таким образом, скрипт, открывающий файл a.txt командой:
open FILE,"a.TXT";
будет нормально работать под Windows, но не захочет работать под UNIX (файл не будет найден).
4. Режим закачки файлов на сервер.
Наиболее частой ошибкой является закачивание всего сайта в "бинарном" режиме. И если с закачанными в таком режиме html и txt - файлами особых проблем не будет (хотя могут возникнуть), закачанные таким образом скрипты работать _не будут_. Все файлы CGI-скриптов, а также используемых ими текстовых файлов, должны быть закачаны в ASCII-режиме.
5. Права доступа к файлам.
Даже если все сделано правильно, скрипт после закачки на UNIX-сервер вряд ли сразу начнет работать.
Для того, чтобы он начал работать, надо установить права доступа для файлов CGI-скрипта и используемых ими файлов.
Как правило, сразу после закачки файлов на сайт им всем устанавливаются некоторый "стандартный" набор прав (по умолчанию), например:
-rw-r--r--
В общем, все файлы с точки зрения необходимого к ним доступа можно разделить на 3 группы:
1. Файлы CGI-скрипта;
2. Файлы, используемые CGI-скриптом для чтения;
3. Файлы, которые CGI-скрипт использует для чтения и записи;
Как правило, хостинг провайдер, разрешающий использование CGI, указывает, какие права доступа должны быть установлены для файлов каждого типа.
Если нет, то в качестве компромисса можно использовать следующие установки:
CGI-скрипт - -rwx-r-x-r-x (755);
Файлы для чтения - -rw-r--r-- (644);
Файлы для записи - -rw-rw-rw- (666);
ВНИМАНИЕ! На некоторых хостингах рекомендуются другие, более строгие конфигурации прав доступа, обеспечивающие более надежную защиту от взлома для Вашего сайта и системы в целом! Поэтому следуйте рекомендациям своего хостинг-провайдера, если они есть!
Часть 4 |
Разместил:
Автор: Андрей Черный