Люди добрые подскажите как на Apache запустить cgi скрипт. Делаю на него ссылку, а он мне вываливает полный код скрипта.
>Люди добрые подскажите как на Apache запустить cgi скрипт. Делаю на него
>ссылку, а он мне вываливает полный код скрипта.
Нужно рассказать Апачу, что делать с твоими файлами, например если это PHP то пишем в конфиг :#
# DirectoryIndex: Name of the file or files to use as a pre-written HTML
# directory index. Separate multiple entries with spaces.
#
<IfModule mod_dir.c>
DirectoryIndex index.html index.php index.php4
</IfModule>
-это чтобы для стактового скрипта в каталоге.# PHPLoad
LoadModule php4_module <где лежит PHP.exe> (если под виндой)AddType application/x-httpd-php .php4 .php
для других скриптов нужно проделать что-то подобное
Удачи
>для других скриптов нужно проделать что-то подобное
ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"
# что-бы вызывать скрипт href="/cgi-bin/script.cgi"<Directory "/home/httpd/cgi-bin">
AllowOverride None
Options ExecCGI
# Важнейшая фраза
Order allow,deny
Allow from all
</Directory>#AddHandler cgi-script .cgi
>>для других скриптов нужно проделать что-то подобное
>ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"
># что-бы вызывать скрипт href="/cgi-bin/script.cgi"
>
><Directory "/home/httpd/cgi-bin">
> AllowOverride None
> Options ExecCGI
># Важнейшая фраза
> Order allow,deny
> Allow from all
></Directory>
>
>#AddHandler cgi-script .cgiБАААльшой спасибо!!!
Все получилось!
>>для других скриптов нужно проделать что-то подобное
>ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"
># что-бы вызывать скрипт href="/cgi-bin/script.cgi"
>
><Directory "/home/httpd/cgi-bin">
> AllowOverride None
> Options ExecCGI
># Важнейшая фраза
> Order allow,deny
> Allow from all
></Directory>
>
>#AddHandler cgi-script .cgi
Мда... всё работает... а вот только одна фишка: Если СGI-скрипт с расширением .pl тагды не работает ! В чём проблема ?
>>#AddHandler cgi-script .cgi
>Мда... всё работает... а вот только одна фишка: Если СGI-скрипт с расширением
>.pl тагды не работает ! В чём проблема ?AddHandler cgi-script .cgi .pl
>
>>>#AddHandler cgi-script .cgi
>>Мда... всё работает... а вот только одна фишка: Если СGI-скрипт с расширением
>>.pl тагды не работает ! В чём проблема ?
>
>AddHandler cgi-script .cgi .plПрописал... всё-равно в логе пишет: No such file or directory: exec of /usr/local/apache/cgi-bin/test.pl
И второе: Premature end of script headers: /usr/local/apache/cgi-bin/test.pl
Хотя скрипт лежит по правильному пути...
Фигня какая-то...
>>
>>>>#AddHandler cgi-script .cgi
>>>Мда... всё работает... а вот только одна фишка: Если СGI-скрипт с расширением
>>>.pl тагды не работает ! В чём проблема ?
>>
>>AddHandler cgi-script .cgi .pl
>
>Прописал... всё-равно в логе пишет: No such file or directory: exec of
>/usr/local/apache/cgi-bin/test.pl
>И второе: Premature end of script headers: /usr/local/apache/cgi-bin/test.pl
>Хотя скрипт лежит по правильному пути...
>Фигня какая-то...
1. Проверь корректность 1-й строки файла скрипта! В том числе убери Windows-кий перевод строки (\r) если он там есть (он невидим)
>>>
>>>>>#AddHandler cgi-script .cgi
>>>>Мда... всё работает... а вот только одна фишка: Если СGI-скрипт с расширением
>>>>.pl тагды не работает ! В чём проблема ?
>>>
>>>AddHandler cgi-script .cgi .pl
>>
>>Прописал... всё-равно в логе пишет: No such file or directory: exec of
>>/usr/local/apache/cgi-bin/test.pl
>>И второе: Premature end of script headers: /usr/local/apache/cgi-bin/test.pl
>>Хотя скрипт лежит по правильному пути...
>>Фигня какая-то...
>1. Проверь корректность 1-й строки файла скрипта! В том числе убери Windows-кий
>перевод строки (\r) если он там есть (он невидим)
Проверил... всё в норме... но всё-рно не работает... блин !
(на счёт символа перевода строки \r - его там, собственно, нет )
>>1. Проверь корректность 1-й строки файла скрипта! В том числе убери Windows-кий
>>перевод строки (\r) если он там есть (он невидим)
>Проверил... всё в норме... но всё-рно не работает... блин !
>(на счёт символа перевода строки \r - его там, собственно, нет )
>
Не знаю... Мне удалось вызвать подобную ошибку(Premature end...), если неправильна первая строка или содержит перевод строки(\r)
В каком редакторе набирался текст? Под виндос?
Запусти скрипт в текминале - отрабатывает?
Под *NIX можно проверить наличие \r такой командой:
bash$ cat script.pl | perl -ne 'if (/\r/) { print "BAD STROKE: $_"; }'
а убрать \r cat script.pl | perl -ne 's/\r/g;print' > script2.pl
>>>1. Проверь корректность 1-й строки файла скрипта! В том числе убери Windows-кий
>>>перевод строки (\r) если он там есть (он невидим)
>>Проверил... всё в норме... но всё-рно не работает... блин !
>>(на счёт символа перевода строки \r - его там, собственно, нет )
>>
>Не знаю... Мне удалось вызвать подобную ошибку(Premature end...), если неправильна первая строка
>или содержит перевод строки(\r)
>В каком редакторе набирался текст? Под виндос?
>Запусти скрипт в текминале - отрабатывает?
>Под *NIX можно проверить наличие \r такой командой:
>bash$ cat script.pl | perl -ne 'if (/\r/) { print "BAD STROKE:
>$_"; }'
>а убрать \r cat script.pl | perl -ne 's/\r/g;print' > script2.plВсё... разобрался... недосмотрел.... в первой строчке забыл одну косую поставить... (а два дня мудохался).
Спасибо, const, что подмог !