Ошибка буферизации PHP & lt; unknown & gt; в строке 0

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

 Cannot use output buffering in output buffering display handlers in <**Unknown**> on line **0**

Пример кода:

function test($b) { return _strrev($b); }

ob_start("test");
echo "123";
ob_end_flush();

Информация:

  • Это CentOS 6.7
  • Это PHP PHP 5.5.32 (cli)
  • Это НЕ WordPress
  • Это простой файл PHP с псевдокодом (выше)
  • Нет кэширования, нет лака, нет Nginx, нет пользовательских заголовков

Спасибо

-5

Решение

Чтобы сделать этот вопрос полезным для других, я обобщу раздел комментариев в форме ответа.

Оказывается, если вы делаете ошибку кодирования в функции обратного вызова, используемой ob_start это генерирует это несколько бесполезное сообщение об ошибке

В тестировании я совершенно случайно допустил глупую ошибку, внося изменения в функцию обратного вызова, показанную спрашивающим

<?php
function test($b) {
return str-replace('2', 'XXX', $b);
}

ob_start("test");
echo "123";
ob_end_flush();

Обратите внимание на опечатку str_replace() функция.

Это породило ошибку

Неустранимая ошибка: Неизвестно: невозможно использовать буферизацию вывода в обработчиках отображения буферизации вывода в поле Неизвестно в строке 0

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

Может быть, один из нас должен сообщить об этом как ошибка PHP

После еще одного тестирования эта ошибка senario вызывает значительную ошибку в PHP 7.0.5

Примечание: использование неопределенной константы str — предполагается, что str в tst.php в строке 3

Фатальная ошибка: Uncaught Ошибка: вызов неопределенной функции replace () в tst.php: 3

так что теперь это можно исправить, но все предыдущие версии PHP, то есть 5.4 / 5.5 / 5.6, выдают бесполезное сообщение об ошибке

3

Другие решения

Других решений пока нет …