![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| popo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 10.1.2007 Репутация: нет Всего: нет |
Прошу сильно не пинать.
расширение pl я так понимаю это сокращение от perl да и везде пишется #!usr/bin/perl (пример). Тут все ясно. а откуда пошло расширение cgi, ведь это тоже написано на перле? Заранее спасибо за разъяснение. |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
CGI (Common Gataway Interface) - интерфейс, обеспечивающий вызов внешних программ сервера. CGI-программы размещаются и исполняются на Web-сервере. Расширение не играет никакой роли, если сервер настроен, что бы файлы с расширением .pl,.cgi,.py,.tcl воспринимать как CGI программы, то файл test.pl, test.cgi, test.py, test.tcl являются CGI программами.
CGI программы могут быть написаны не только на Perl. Расширения вообще не обязательны, можно настроить сервер, что бы он воспринимал и файлы без расширений, как CGI программы. Это сообщение отредактировал(а) korob2001 - 10.1.2007, 05:48 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| popo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 10.1.2007 Репутация: нет Всего: нет |
Спасибо, стало более понятно.
Получается что cgi не имеет никакого отношения к перл? |
|||
|
||||
| ZeeLax |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4388 Регистрация: 20.8.2006 Где: Алма-Ата Репутация: нет Всего: 88 |
Да. Просто на perl так часто пишут для CGI, что для многих это чуть-ли не одно и то же. -------------------- Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none. — Doug Larson |
|||
|
||||
| shootnix |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 3.9.2005 Где: Казахстан Репутация: 2 Всего: 2 |
Насколько я понимаю вообще в Unix-like системах файл, имеющий право на исполнение (0755, к примеру) исполняются тем интерпретатором, который записан в заголовке ( #!/usr/bin/perl можно заменить на #!/usr/sh ), то есть даже сервер не всегда нужно настраивать специальным образом. То есть, сказать апачу, что это исполняемый файл, а не текстовичОк придется, а далее дело техники :-) А насчет CGI - в принципе, это интерфейс взаимодействия (через специальные внутренние переменные, содержащиеся как раз в строке запроса или непосредственно в теле докумена), то есть можно совершенно спокойно писать CGI приложения на любом языке, rambler например, частично вообще на Ассемблере написан (ходят слухи), можно так же и на Pascal писать и даже на Basic. Кроме того, php-скрипт тоже может быть cgi-приложением. Добавлено @ 18:20
Повторюсь: CGI - это интерфейс. Perl - язык такой :-) Писать CGI-приложения можно на любом языке. |
||||
|
|||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Вот в этой строке, в конфиге Apache, ты указываешь, расширения для имсполняемых файлов.
Это сообщение отредактировал(а) korob2001 - 10.1.2007, 23:26 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: 4 Всего: 8 |
CGI - это интерфейс для запуска программ из www. При вызове, как правило, запускается новый процесс интерпретатора языка, на котором написан скрипт. Это довольно напряжно для системы (не важно какой), так что лучше ты используй PHP или ещё круче - mod_perl2, который позволяет на лету управлять apache2 полностью. Преимущественно - mod_perl2.
А после #!, обычно, указывается команда для выполнения текущего файла. Ну, если файл называется "test.py", а первая строка в CGI файле - это #!/usr/bin/python, то при вызове выполнится
Можно ещё, как CGI, использовать исполняемые файлы, написанные, например, на Ц, надо только написать в хтаксесс или в хттпд.конф Options +ExecCGI. Но CGI я не люблю, лучше, пользую mod_perl2. |
|||
|
||||
| nitr |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
можно мод_реврайтем запутать людей
можно как уже сказал korob
только указав
тоже для пхп
короче сервер можно настроить так, что любое расширешие юзается как CGI читай тут не ахти как, но информации много в инете. Короче .cgi для простоты понимания, что это скрипт CGI з.ы.: имхо Это сообщение отредактировал(а) nitr - 12.1.2007, 01:25 |
||||||
|
|||||||
| everyone |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 24.3.2004 Репутация: 1 Всего: 4 |
Здесь возникает вопрос о распрстранённости данного явления - mod_perl2 на хостингах) А что касается PHP там... или Perl... Вопрос религиозен. А шлюзы на Perl - довольно удобно и быстро, и везде работает, и пусть эта "махина" запускается каждый раз, работает всё довольно быстро и без напрягов, вся проблема в частоте использования скрипта и в том, что именно он обрабатывает. Только после какого-то критического момента нужно серьёзно думать о производительности. Не всегда здесь можно сказать, что лучше. --------------------
Что написал, то написал (Пилат) |
|||
|
||||
| tishaishii |
|
|||
![]() Создатель ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1262 Регистрация: 14.2.2006 Где: Москва Репутация: 4 Всего: 8 |
Ну это вы там смотрите как хотите, если, например, ты не пошёл на проект, где обязательно PHP, а пошёл там, где заплатят меньше (ну, например), - значит, это для тебя религиозный вопрос. Я - за функциональность. Пусть, я считаю Perl более функциональным и простым, однако, это всё для мнея только ради денег. Я не брошу свою девушку или не отрекусь от своего отца или мамы ради какого-то Perl...
|
|||
|
||||
| everyone |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 24.3.2004 Репутация: 1 Всего: 4 |
Да, мама это святое... Но причём здесь это?) Я наверно не совсем понятно выразился, или просто tishaishii не сталкивался с проблемами "религий" SWindows и *nix, что касается Perl и PHP, то она подобна "консоли vs PC" и "Disney vs Ghibly", и народ порой так врывается, что забывает о чём собственно речь. Добавлено @ 15:54 И, кстати, программировать только ради денег - маразм (IMHO). Не стоит оно того. --------------------
Что написал, то написал (Пилат) |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |