The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Проблемы с запуском CGI"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"Проблемы с запуском CGI" 
Сообщение от lexluther emailИскать по авторуВ закладки(??) on 06-Янв-05, 17:23  (MSK)
Добрый день!

У меня в папке cgi-bin (на моем сайте под Apache) вложена еще одна папка "cgi-bin/a/". Проблема в том, что двоичная cgi-программа, которая работала в папке cgi-bin не работает в папке "cgi-bin/a/" (выдается ошибка сервера 500). В чем может быть проблема? Причем я все права для папки "cgi-bin/a/" установил на 777.

С уважением!

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Проблемы с запуском CGI" 
Сообщение от Alanius emailИскать по авторуВ закладки(ok) on 06-Янв-05, 18:24  (MSK)
А что error_log говорит?

>У меня в папке cgi-bin (на моем сайте под Apache) вложена еще
>одна папка "cgi-bin/a/". Проблема в том, что двоичная cgi-программа, которая работала
>в папке cgi-bin не работает в папке "cgi-bin/a/" (выдается ошибка сервера
>500). В чем может быть проблема? Причем я все права для
>папки "cgi-bin/a/" установил на 777.
>
>С уважением!


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Проблемы с запуском CGI" 
Сообщение от lexluther emailИскать по авторуВ закладки(??) on 06-Янв-05, 21:56  (MSK)
Содержимое error_log следующее (и так много раз):

[Thu Jan 06 16:32:22 2005] [error] [client 82.207.30.115] Premature end of script headers: TypePage.cgi

Если более точно, то данное CGI-приложение написано на C++ и интенсивно пишет и считывает файлы в папках вложенных в CGI-BIN. С правами проблем нет (и я просто чего-то не понимаю), поскольку они все установлены в 777. Операционная система - RadHat Enterprise 7.2. Тип хостинга – VPS (виртуальный сервер), разделение на основе технологии Virtuozzo.

Самое интересное это то, что в самой папке CGI-BIN программа выполняется вроде нормально, а во вложенных в CGI-BIN папках все вылетает с ошибкой 500. Я просто новичок в этих тонкостях с хостингом и может что-то элементарное не знаю, поскольку локально на моем компе и под FreeBSD и под Linux RadHat все работало просто идеально. Может там, что-то надо править в .htaccess? Если не секрет то подскажите, пожалуйста, что конкретно надо вписать или изменить, я с этим файлом в жизни никогда не работал. Или хотя бы, посоветуйте пожалуйста в чем искать данную ошибку.

С Уважением,
LeXLuTHeR

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Проблемы с запуском CGI" 
Сообщение от lexluther emailИскать по авторуВ закладки(??) on 07-Янв-05, 13:35  (MSK)
Добрый день,

Я проанализировал данную проблему на примере маленькой тестовой программы, не делающей операций ввода вывода, код которой приведен ниже. Как видите, все заголовки передаются, и никаких проблем с правами доступа физически быть не может. К тому же и для исполняемого файла все права установлены в 777. Может там есть еще какие-то права?

#include <stdio.h>
int main(int argc, char* argv[])
{
puts("Content-type:text/html;\n\n<br>START<br><br>");
return 0;
}

Сам механизм проблемы проявляется следующим образом:

1. Если я предварительно компилирую (g++ -o main.cgi main.cpp) данный код у себя на компьютере, то при последующем переносе данного (полностью скомпилированного) CGI-приложения на сервер программа исполняется идеально как из консоли (под SHH) так и из под Apache в виде CGI.

2. В случае же, если я компилирую аналогичный код на сервере (из исходника g++ -o main.cgi main.cpp, или же из предварительно скомпилированного локально на моем компьютере объектного файла), то при запуске данного приложения как CGI, Apache выдает вышеуказанную ошибку (500 и.т.д.). Если же я запускаю данное приложение в консоли (под SHH), то ошибки не происходит и приложение работает как ему и следует. Т.е. происходит что-то паранормальное. В консоли приложение выполняется, а в Apache нет.

ПО на сервере:
Apache/2.0.46 (Red Hat),
gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-24),
GNU ld version 2.14.90.0.4 20030523

Данный механизм я протестировал несколько десятков раз с разным исходным кодом (в том числе с объектными файлами) и поэтому могу дать 100% гарантию, что все именно так и происходит. Хотя объяснить логически суть подобной ошибки я не могу.

PS: Помнится что на заре моей работы с FreeBSD, я работал с версией данной системы 4.4 и у меня происходил следующий глюк: я компилировал тестовое простое (консольное на C++) приложение с помощью GCC и приложение работало, но только до следующей перезагрузки. После перезагрузки системы при попытке запустить данное консольное приложение мне выдавалась ошибка, связанная с какими то библиотеками. Я тогда плюнул и скачал компилятор под ADA95, поскольку одинаково хорошо программирую и на этом языке.

С уважением!
LeXLuTHeR

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Проблемы с запуском CGI" 
Сообщение от vnp emailИскать по авторуВ закладки(??) on 07-Янв-05, 22:01  (MSK)
>Добрый день!
>
>У меня в папке cgi-bin (на моем сайте под Apache) вложена еще
>одна папка "cgi-bin/a/". Проблема в том, что двоичная cgi-программа, которая работала
>в папке cgi-bin не работает в папке "cgi-bin/a/" (выдается ошибка сервера
>500). В чем может быть проблема? Причем я все права для
>папки "cgi-bin/a/" установил на 777.
>
>С уважением!

Скорее всего, программа не вызывается вообще (найти ее не могут). Упомянута ли директория 'a' в вызове?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Проблемы с запуском CGI" 
Сообщение от lexluther emailИскать по авторуВ закладки(??) on 07-Янв-05, 22:08  (MSK)
>>Добрый день!
>>
>>У меня в папке cgi-bin (на моем сайте под Apache) вложена еще
>>одна папка "cgi-bin/a/". Проблема в том, что двоичная cgi-программа, которая работала
>>в папке cgi-bin не работает в папке "cgi-bin/a/" (выдается ошибка сервера
>>500). В чем может быть проблема? Причем я все права для
>>папки "cgi-bin/a/" установил на 777.
>>
>>С уважением!
>
>Скорее всего, программа не вызывается вообще (найти ее не могут). Упомянута ли
>директория 'a' в вызове?

Да все упоминается и все права идеально установлены

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру