Я пытаюсь очистить вывод определенных скриптов в браузере по требованию, но они не работают на нашем сервере производств.
Например, я попробовал запустить «Инструмент изменения колоды Phoca» (найти его в Google), и я не вижу никакого вывода, пока скрипт не завершит выполнение.
Я попытался сразу же сбросить буфер на другом скрипте, который отлично работает на любом сервере, но с использованием следующего кода:
echo "something"; ob_flush(); flush();
Установка "ob_implicit_flush (1);" не помогает.
Сервер Apache 2.2.21 с PHP 5.2.17 работает в Linux. Вы можете увидеть наш файл php.ini здесь, если это поможет: http://www.smallfiles.org/download/1123/php.ini.html
Это не единственная проблема, с которой сервер сталкивается с игнорированием директив в сценарии. Сервер также игнорирует тайм-аут, например:
ini_set('max_execution_time', 900*60);
А ТАКЖЕ
set_time_limit(86400);
Сценарий всегда истекает на php.ini по умолчанию.
Кажется, не имеет значения, выполняется ли сценарий в IE или Firefox.
Решила эту тайну. Оба из них.
Чтобы исправить проблему выходного буфера, мне нужно было отключить сжатие gzip в файле .htaccess, хотя я бы хотел просто сделать это в скрипте.
Вот что вы должны поместить в ваш файл .htaccess:
<IfModule mod_gzip.c> mod_gzip_on No </IfModule> SetEnv no-gzip dont-vary
Чтобы исправить завершение сценария без ошибок, я проверил файлы журнала Apache и обнаружил, что это не PHP, а в конфигурации Apache: истечение указанного времени истекает: ap_content_length_filter: apr_bucket_read () не удалось
Пришлось увеличить время ожидания Apache, чтобы предотвратить эту ошибку, чтобы она выглядела так, как будто мои скрипты выходили из строя. Включение KeepAlive в Apache также помогло решить проблему раз и навсегда.
Надеюсь, это поможет кому-то и спасибо за помощь всем elses!
Вы можете загрузить неправильный файл php.ini
, поскольку он имеет тенденцию к изменению в зависимости от каталога.
Чтобы проверить загруженный файл php.ini
, напишите: echo php_ini_loaded_file();
, который предоставит вам каталог, в котором он находится. см. php.net
если это не удается, см. serverfault.com для сайта stackexchange сервера.