| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Perl оффлайновое тестирование |
| Автор: SelfDestructor 24.9.2003, 15:28 |
| Можно ли как нибудь тестировать работу скриптов Перла на html страницах оффлайново? В тексте страницы: <FORM method=post action"cgi-bin/testform.pl"> в поддиректории cgi-bin относительно той дирректории, где у меня лежит эта страница лежит отлаженный скрипт testform.pl однако он не запускается неужели это нельзя тестировать не загружая на веб сервер? |
| Автор: Sun 24.9.2003, 15:55 |
| Поставь себе на машину WEB-сервер и Perl. Настрой директорию cgi-bin и вперед. |
| Автор: SelfDestructor 24.9.2003, 16:10 |
| Нашел http://phpclub.unet.ru/tutor/apache.html#ch1 У меня W2K. Скачал Апач 2.0.47. Сильно ли будет различаться установка? |
| Автор: Sun 24.9.2003, 16:23 |
| Вполне пристойная инструкция, думаю тебе подойдет. Кроме Апача тебе еще понадобится Перл. |
| Автор: SelfDestructor 24.9.2003, 16:34 |
| При инсталяции спрашивает Network Domain. У меня пока нет никакого домена, да и пока не планирую - цель попрактиковаться в Перле. Машина подключена к инету. Не будет ли ничего страшного, если я несуществующий Network Domain укажу? Перл уже стоит. |
| Автор: HalkaR 25.9.2003, 10:19 |
| Нет - не будет. |
| Автор: KesTeL 25.9.2003, 12:20 |
| Можно скачать пакет Denver, неплохая штука, как раз для отлаживая скриптов я считаю |
| Автор: SelfDestructor 26.9.2003, 16:18 |
| Установил, настроил, вроде бы все работает, но скрипт с формы все равно не запускается. Форма в "c:\Program Files\Apache Group\Apache2\htdocs\" Скрипт в "c:\Program Files\Apache Group\Apache2\cgi-bin\" Эти дирректории прописаны в установках Апача. Но скрипт не запускается. |
| Автор: Sun 26.9.2003, 17:47 |
| Так-же важно указать в скрипте путь к Перлу (в первой стороке) #!c:\perl\perl.exe Не знаю как на Windows, а на Unix скрипт не работает, если в конце каждой строки кроме символа конца строки стоит еще и перевод каретки (его вставляют редакторы вроде Notepad). Ну и конечно надеюсь что ты набирал скрипт не в Ворде |
| Автор: HalkaR 26.9.2003, 17:50 |
| В каком смысле не запускается? Сам скрипт рабочий? Заголовок print $q -> header(-type => "text/html", -charset => "Windows-1251"); выводишь? |
| Автор: Nobody 27.9.2003, 14:20 | ||
Виндовоз не обращает внимания на эту строчку. |
| Автор: HalkaR 28.9.2003, 19:39 |
| Nobody, обращает. |
| Автор: Nobody 28.9.2003, 20:57 |
| HalkaR Да? А я во всех скриптах пишу #!/usr/bin/perl и ничего, отлично работают. (Может, расскажешь, что это за папка такая в Винде - /? |
| Автор: NightGoblin 29.9.2003, 09:27 | ||
| Nobody, HalkaR AFAIK, в винде перл обращает внимание только на праметры программы, все остальное пропускает. Sun
Смех смехом, а не помню кто мне рассказывал про учителя информатики, который на уроке доказывал, что ВСЕ программы набираются исключительно в Ворде |
| Автор: HalkaR 29.9.2003, 10:00 |
| Nobody, если ты тестируешь скрипты в редакторе, либо на сервере с включенной опцией ScriptInterpreterSource registry, эта строка не на что не влияет. Если же эта опция выключена, то даже в Виндах надо писать путь к итерпритатору Перл. |
| Автор: MuToGeN 29.9.2003, 10:31 |
| Строка #!что-то нужна только для никсов, причем далеко не для сервера, а для самой ОС, потому что CGI скрипты и CGI программы выполняются сервером через что-то a-la перловский system(). И серверу по барабану, что будет в первой строке, это проверяет уже ОС. Там можно с тем же успехом написать #!/usr/bin/php, и скрипт будет передан PHP парсеру. Под виндой результат будет такой же, что и с #!/usr/bin/perl, т.к. в виндах это дело выполняет не ОС, а сервер, в котором прописаны связи расширение - MIME тип - то, что будет выполнять скрипт |
| Автор: SelfDestructor 3.10.2003, 17:48 | ||
Скрипт рабочий, запускается и правильный результат выдает. Просто он не запускается с формы по нажатию клавиши. Приведу полностью html-код, возможно ошибка в нем. Это маленький учебный пример.
ПС Долго не мог добраться до инета. Всем ответившим спасибо. |
| Автор: HalkaR 3.10.2003, 18:43 | ||||
не
а
Очепятка видимо. |
| Автор: SelfDestructor 3.10.2003, 19:09 |
| Пробела после action действительно не было, спасибо. А теперь по нажатию кнопки, вместо исполнения скрипта, предлагается его даунлоадить. |
| Автор: HalkaR 3.10.2003, 19:22 |
| Это уже глюк сервера. Настроить надо... |
| Автор: SelfDestructor 3.10.2003, 19:27 |
| Так вот собственно и вопрос: как? =)))) |
| Автор: Sun 3.10.2003, 22:16 |
| Видимо что-то не так в тэге ScriptAlias. Может проблема в том что дира с пробелом прописана или ты кладешь скрипт не в эту диру что в ScriptAlias. |
| Автор: NightGoblin 6.10.2003, 07:55 |
| А может скрипт неправильно Content-Type выдает? У меня такое было, когда новую строку между концом Content-Type и следующим заголовком забыл вставить... |
| Автор: Lonley 10.10.2003, 11:42 |
| -=-=- Есть маленький сервер SmallServer Small HTTP Server ver. 2.04 by Max Feoktistov E-mail: max@feokt.spb.ru © 1999-2001 Registred to Root dir=C:\WWW\ok.ru def=index.htm port=80 Number of connections=5 -=-=--=-= в нестройках очень прост удобен Сам им пользовался маленький |
| Автор: HalkaR 10.10.2003, 20:15 |
| Lonley, на самом деле кромь Апача есть много других простых в настройке серверов (Апач далеко не самый простой). Это и Sambar Server, и Small Server, и Denver |
| Автор: Lonley 10.10.2003, 22:32 |
| -=-=-= Как бы то нибыло другие не тестил Small поставил и он работает -=-=- но всеравно будут промблемы при переносе cкриптов на ХОСТ под другую платформу вообще все ети права но чертовски интересно -=-=-=--= |
| Автор: korob2001 10.10.2003, 22:46 |
| А есть ещё Xitami. Подробности тута: http://denstelen.hop.ru/www/statty/programming/perl/perlz.htm |