Настройка apache и 500 ошибка (Premature end of script headers).

Статус
В этой теме нельзя размещать новые ответы.
Вот в чем проблема, FastCGI пхохо переносит нагрузки
Для начала попытайтесь установить ПХП как мод апача php_mod
Глупости - PHP отлично работает как в режиме CGI так и в режиме FastCGI.

Причин возникновения "Premature end of script headers" множество.
Основные:
- неверные права
- превышение системных лимитов
- заливка не в режиме ASCII
- виндовые переносы строк
- неправильно настроенный web-сервер

Все достаточно легко лечатся.

Судя по упоминанию 40 секунд, скорее всего имеем дело с упиранием в дефолтные 30 секунд на выполнение скрипта.
 
Глупости - PHP отлично работает как в режиме CGI так и в режиме FastCGI.
Причин возникновения "Premature end of script headers" множество.
Основные:
- неверные права
- превышение системных лимитов
- заливка не в режиме ASCII
- виндовые переносы строк
- неправильно настроенный web-сервер
Все достаточно легко лечатся.
Судя по упоминанию 40 секунд, скорее всего имеем дело с упиранием в дефолтные 30 секунд на выполнение скрипта.


С правами всё в порядке.
Насчёт лимитов не могу ничего сказать.
с заливкой тоже всё в порядке.
Перенос строк Unix.
Про не правильно настроенный сервер возможно.

set time limit установлен в 0.
Проблема возникает только с теми скриптами, которые ничего не выводят и выполняются дольше определённого времени.


Простейший скрипт вызывает такую же ошибку.

<?
set_time_limit(0);

$z=0;
for($i=1; $i<=10000000000; $i++){
$z=$z+$i;
}


?>
 
set_time_limit не всегда работает.

Посмотри чему равно max_execution_time, и если скрипт отваливается после этого времени, то понятно в чём дело.
 
Проблема возникает только с теми скриптами, которые ничего не выводят и выполняются дольше определённого времени.

?>

тогда понятно - нужно, чтобы скрипт выводил хотя бы content-type заголовок, например:
echo "Content-type: text/html\n\n";
 
set_time_limit не всегда работает.
Посмотри чему равно max_execution_time, и если скрипт отваливается после этого времени, то понятно в чём дело.


В других скриптах работает :)
max_execution_time не могу пока проверить... Но посмотрю.

тогда понятно - нужно, чтобы скрипт хотя бы content-type заголовок, например:
echo "Content-type: text/html\n\n";
echo "All done";

Пока скрипт не отработает не выводиться, а скрипт работает долго, flush насколько я знаю не везде работает.
 
Сервер лежит :D
Посмотрел: max_execution_time 300000

Попробуйте уменьшить значение переменной max_execution_time (время выполнение скрипта).
P.S. то что у Вас в данный момент установлено, это из раздела фантастики. :D
 
Попробуйте уменьшить значение переменной max_execution_time (время выполнение скрипта).
P.S. то что у Вас в данный момент установлено, это из раздела фантастики. :D

Этот параметр устанавливал не я, он был таким изначально.

Ну попробывал уменшить, естественно никак не повлияло.
Не знаю что даже делать, скоро перееду на другой сервер, может быть там не будет такой проблемы, но всё равно хочу понять причину ошибки, на будущее :)
 
1. Убедись что в php.ini включены короткие тэги.
2. Узнай у админа, возможно, стоит демон который киляет процессы выполняющиеся дольше определённого времени.
3. Возможно, рвётся коннект раньше, чем скрипт успевает отработать - это уже надо смотреть настройку связки web-сервер и FastCGI.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху