Intereting Posts
Получить данные из XML .NET DataSet в PHP Аргумент Mysql_fetch_array не является допустимым результатом MYSQL Регулярное выражение – любой текст, подходящий для URL-адреса Как я могу заставить php возвратить 500, столкнувшись с фатальным исключением? php foreach echo prints «Массив» как значение fwrite () не разрешено, но phpinfo () говорит, что это должно быть Динамические маршруты Codeigniter Magento Изменить названия страниц продуктов для включения атрибутов Конструктор запросов Symfony2 Doctrine в качестве подзапроса в предложении FROM скрипт для перезаписи .htaccess файл работает на wamp, но не на общем хосте в сети Создайте тег Img из URL-адреса обрабатывать несколько запросов по почте на тот же URL-адрес Laravel 5 Почему десятичные знаки не складываются правильно? График работы персонала в течение нескольких минут Не удалось подключиться к почтовому серверу на порту «localhost» 25, проверьте свой «SMTP»,

Проблема с output_buffering и php.ini

при попытке войти на этот сайт (пользователь: polopolo, pass: samara) результатом является пустая страница. Я знаю, что проблема заключается в отправке заголовков и ouput_buffering в файл php.ini. У меня была та же проблема на другом хосте, но проблема была исправлена, когда я изменил output_buffering = On . Это не работает на текущем хосте, и мне интересно, почему? Какие-либо предложения?

– phpinfo текущего сайта.


Изменить: проблема решена. Я перепроектировал код и нашел дополнительные пробелы после тега закрытия php перед отправкой заголовков. Код не был написан мной, и я инстинктивно проигнорировал этот параметр, поскольку вся система работала уже на другом сервере. Но мой коллега сделал некоторые изменения, о которых я не знал … Урок узнал: командная работа важна и не позволяйте никому думать за вас. Тем не менее, для меня остается загадкой, почему при попытке показать все ошибки и особенно «Невозможно изменить заголовки» они не отображались должным образом. Я сделал все, что вы мне посоветовали, – покажите ошибки, запишите их и так далее … в любом случае спасибо.

Предположительно, страница, которую вы нажимаете сразу после входа в систему, перенаправляет.

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

Буферизация вывода не позволяет PHP выводить любую часть тела документа до тех пор, пока выходной буфер не будет сброшен (или выйдет PHP). Это позволяет выводить заголовки в любое время.

Теперь, если вы поворачиваете буферизацию вывода на исправленную проблему на собственном сайте / сервере, но не на другом, это четкое указание на то, что на самом деле это не та же проблема – вы сталкиваетесь с другой проблемой.

Вы должны регистрировать ошибки PHP, поэтому проверьте свой журнал ошибок PHP. Если (и только если) вы просматриваете это на ограниченном сайте только для разработчиков, то вы можете включить display_errors в вашей конфигурации PHP, которая будет отображать ошибки на странице по мере ее рендеринга. Обычно это считается небезопасным параметром на общедоступных серверах из-за того, что злоумышленники могут попытаться вызвать ошибку, для которой сообщение об ошибке обнаруживает некоторую личную информацию.

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

Не удалось создать файл .htaccess со следующим содержимым:

php_flag display_errors on php_value error_reporting 30719 

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

У меня также была такая же проблема при работе над проектом. Я исправил его позже, установив output_buffering = 4096 в файл конфигурации php.ini, и он отлично работал в localhost, но когда я положил его на хост-сервер, я снова получил эту ошибку. Я не уверен, как использовать собственный файл конфигурации php.ini на хост-сервере. Любое предложение приветствуется …