Internal Server Error или Method Not Allowed

  • Автор темы Domingo
  • Дата начала

Domingo

Guest
Internal Server Error или Method Not Allowed

Уважаемые Гуру!
Уже башню рвёт от хрЕновой 500-й ошибки!
Условия следующие:
WEB-сервер (Apache) поднят под Linux RH 7.3.
Есть форма отправки письма со страницы:
PHP:
form action=/cgi-bin/mail.php method=post><table border=0 align=center width=60%><tr><td align=left>ФИО или название фирмы:
                          <td align=center><input type=text size=30 name=name></tr><tr><td align=left>E-Mail или контактный телефон:
                          <td align=center><input type=text size=30 name=e_mail></tr><tr><td align=left>Тема сообщения:
                          <td align=center><input type=text size=30 name=theme></tr><tr><td align=left>Ваше сообщение:
                          <td align=center><textarea name=meccage cols= rows=10></textarea></tr>
                                <tr><td align=left colspan=2><input type=submit value="Отправить сообщение"></tr></table></form>
Есть элементарный скрипт mail.php, который лежит в /cgi-bin (если его класть в каталог, где лежат странички, то появляется ошибка:
"Method Not Allowed The requested method POST is not allowed for the URL /mail.php. "):
PHP:
<?php
$to = "***@***.ru";
$subj = "Письмо с сайта";
$mess = "С вашего сайта было отправленно сообщение.
ФИО или название фирмы:
$name
E-Mail или контактный телефон:
$e_mail
Тема сообщения:
$theme
Ваше сообщение:
$meccage
";
$headers = "Content-type: text/plain; charset=windows-1251
";
mail($to, $subj, $mess, $headers);
echo "Спасибо. Ваше сообщение отправлено!";
?>
При попытке что-нить отправить, соответственно ФИГ ВАМ, Internal Server Error!
Апач в error.log пишет следующее: Exec format error! Exec of /var/www/cgi-bin/mail.php failed!
Плиз, ткните носом, где трабла, а то уже нехорошие мысли голову посещают!
 

firstVDS

Новичок
А чо говорит функция phpinfo() о переменной sendmail_path

-~{}~ 02.03.05 07:48:

И всё таки проблема скорее всего в том что он лежит в /cgi-bin.
Если сервер не твой то тебе лучше поколупать провайдера на предмет почему
"Method Not Allowed The requested method POST is not allowed for the URL /mail.php. "
 

Domingo

Guest
И всё таки проблема скорее всего в том что он лежит в /cgi-bin.
Сервер мой.
В том-то и перец, "Method Not Allowed" выскакивает если скрипт класть в директорию с *.html файлами! Если же он лежит в /cgi-bin (начинаясь при этом с #!/usr/bin/php, а не с ?php), то выскакивает пресловутая 500-я ошибка!:-(
А переменная sendmail_path, я полагаю тут не прчем, ибо в скрипте используется стандартная линуксовая утилита mail, которая прекрасно знает, что sendmail лежит в /usr/sbin/sendmail... Блин, башню рвёт уже!:-(
 

crocodile2u

http://vbolshov.org.ru
http://httpd.apache.org/docs/mod/core.html#limit

Может быть, здесь собака порылась?
 

firstVDS

Новичок
у тебя другие PHP скрипты работают вообще?
такое впечатление что Apache не воспринимает твою /mail.php как скрипт вообще
 

Domingo

Guest
Автор оригинала: crocodile2u
http://httpd.apache.org/docs/mod/core.html#limit

Может быть, здесь собака порылась?
Да тут вроде всё в порядке:
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>...

-~{}~ 02.03.05 14:15:

Автор оригинала: firstVDS
у тебя другие PHP скрипты работают вообще?
такое впечатление что Apache не воспринимает твою /mail.php как скрипт вообще
Другие работают.
Может я совсем гоню, тогда скажи пожвлуйста, что в приведённом ниже скрипте не так???
PHP:
<?php
$to = "***@***.ru";
$subj = "Письмо с сайта";
$mess = "С вашего сайта было отправленно сообщение.
ФИО или название фирмы:
$name
E-Mail или контактный телефон:
$e_mail
Тема сообщения:
$theme
Ваше сообщение:
$meccage
";
$headers = "Content-type: text/plain; charset=windows-1251
";
mail($to, $subj, $mess, $headers);
echo "Спасибо. Ваше сообщение отправлено!";
?>
Даже при моём прямо скажем, посредственном знании РНР, мне кажется, что тут всё в порядке...

-~{}~ 02.03.05 15:06:

А ведь действительно апач не воспринимает mail.php как скрипт!:-(
Он предлагает его сохранить, вместо того, чтобы отработать! Вот только вопрос - ПОЧЕМУ????
 

yugene

Отошел от дел
Автор оригинала: Domingo
А ведь действительно апач не воспринимает mail.php как скрипт! :-( Он предлагает его сохранить, вместо того, чтобы отработать! Вот только вопрос - ПОЧЕМУ????
Так он "предлагает его сохранить" или "пытается выполнить и показывает 500 ошибку"?

Автор оригинала: Domingo
Если же он лежит в /cgi-bin (начинаясь при этом с #!/usr/bin/php, а не с ?php)
#!/usr/bin/php не отменяет <?php
 
Сверху