LinuxForum.Fans
Тема

Apache и cgi

Автор: skif2008 6 сообщений 2757 просмотров
#101518

не запускается cgi скрипт в апаче2
конфиг

text

ServerRoot "/usr/lib/apache2"

LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule authn_alias_module modules/mod_authn_alias.so LoadModule authn_anon_module modules/mod_authn_anon.so LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authn_file_module modules/mod_authn_file.so <IfDefine AUTHNZ_LDAP> LoadModule authnz_ldap_module modules/mod_authnz_ldap.so </IfDefine> LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so <IfDefine CACHE> LoadModule cache_module modules/mod_cache.so </IfDefine> LoadModule cgi_module modules/mod_cgi.so <IfDefine DAV> LoadModule dav_module modules/mod_dav.so </IfDefine> <IfDefine DAV> LoadModule dav_fs_module modules/mod_dav_fs.so </IfDefine> <IfDefine DAV> LoadModule dav_lock_module modules/mod_dav_lock.so </IfDefine> LoadModule deflate_module modules/mod_deflate.so LoadModule dir_module modules/mod_dir.so <IfDefine CACHE> LoadModule disk_cache_module modules/mod_disk_cache.so </IfDefine> LoadModule env_module modules/mod_env.so LoadModule expires_module modules/mod_expires.so LoadModule ext_filter_module modules/mod_ext_filter.so <IfDefine CACHE> LoadModule file_cache_module modules/mod_file_cache.so </IfDefine> LoadModule filter_module modules/mod_filter.so LoadModule headers_module modules/mod_headers.so LoadModule include_module modules/mod_include.so <IfDefine INFO> LoadModule info_module modules/mod_info.so </IfDefine> <IfDefine LDAP> LoadModule ldap_module modules/mod_ldap.so </IfDefine> LoadModule log_config_module modules/mod_log_config.so LoadModule logio_module modules/mod_logio.so <IfDefine CACHE> LoadModule mem_cache_module modules/mod_mem_cache.so </IfDefine> LoadModule mime_module modules/mod_mime.so LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule speling_module modules/mod_speling.so <IfDefine SSL> LoadModule ssl_module modules/mod_ssl.so </IfDefine> <IfDefine STATUS> LoadModule status_module modules/mod_status.so </IfDefine> LoadModule unique_id_module modules/mod_unique_id.so <IfDefine USERDIR> LoadModule userdir_module modules/mod_userdir.so </IfDefine> LoadModule usertrack_module modules/mod_usertrack.so LoadModule vhost_alias_module modules/mod_vhost_alias.so

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.0/ext/apache2/mod_passenger.so PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.0 PassengerRuby /usr/bin/ruby18

ScriptAlias /cgi-bin/ /var/www/localhost/cgi-bin/

User apache Group apache

Include /etc/apache2/modules.d/*.conf Include /etc/apache2/vhosts.d/*.conf

скрипт

text

#!/bin/bash

echo "Content-type: text/html\r\n\r\n"

ошибка
Premature end of script headers: 3.fcgi

режим у 3.fcgi 755
переводы строки юниксовые (и файл в линуксе создавал и хекс-редактором смотрел - 0x0A на конце)

если скрипт в виде

text

#!/bin/bash

echo "Content-type: text/html\r\n\r\n" echo "<HTML><BODY>" echo "<B><I>Hello</I>, #{inputs['name']}!</B>" echo "</BODY></HTML>"

ошибка
malformed header from script. Bad header=<HTML><BODY>: 3.fcgi


в чем может быть причина ?

#101546

А если так сделать:

text

echo "Content-type: text/html\n\n"

Тебя читать неудобно, помести то что нужно между [сode] и [/сode]

#101559
text
#!/bin/bash
echo "Content-type: text/html"
echo ""
echo "<HTML><BODY>"
echo "<B><I>Hello</I>, #{inputs['name']}!</B>"
echo "</BODY></HTML>"

можно заставить работать и ваш пример.... если прочитать man по echo :)

#101584

Апач тут не при чем, покажи вывод
[console]
php script.php
[/console]

#101607
odin написал:
text
#!/bin/bash
echo "Content-type: text/html"

можно заставить работать и ваш пример.... если прочитать man по echo :)

спасибо, помогло
разбирался с подключением к апачу руби - точно такая же ошибка была и забыл выкинуть переводы строки

#101622

переводы строки выкидывать не надо .... после Content-type обязательно должна быть пустая строка... просто команда echo по умолчанию не обрабатывает эскейп последовательности .... в вашем случае надо было echo -e ....

Войдите или зарегистрируйтесь, чтобы ответить.