Я думал, что у меня была ошибка в моем коде, но, изолировав проблему, я обнаружил какое-то странное поведение error_log() внутри корпуса коммутатора.PHP error_log все еще работает внутри коммутатора с перерывом
Я добавил некоторый error_log для отладки, но затем, когда я работал в этом коммутаторе, ошибка всегда включалась, даже если вызов был сделан за пределами допустимого случая.
Вот точная часть моего кода, который заставил меня найти эту wierdness:
switch($LLTP->request()){
case 'json':
/* some code commented out for debug here */
error_log('json');
echo 'json';
break;
default:
/* some code commented out for debug here */
error_log('html');
echo 'html';
break;
}
метод запроса является простым и простым и возвращает строку, как 'json','html','ajax'
и т.д ..
public function request(){
return $this->requests;
}
так если переключатель html, по умолчанию удаляются, и я получаю приведенные результаты:
echoing 'html' (ожидается)
ErrorLog «HTML» (ожидается)
НО когда я запустить его с ключом «JSon», я получить ожидаемый «JSON» на экране, так и внутри error_log, но я также получаю «HTML 'запись ошибки (без эха).
вторя 'JSON' (ожидаемый)
ErrorLog 'JSON' (ожидаемый)
ErrorLog 'HTML, реферер: https://www.example.com/home.json' (неожиданный)
Является ли это нормальное поведение? Fisrt время я замечаю, и если я пытаюсь воспроизвести 'странность' с другим примером кодом:
$vv='json';
switch($vv){
case 'json':
echo 'json';
error_log('json');
break;
default:
echo 'html';
error_log('html');
break;
}
я получаю (в ERRORLOG)
[ошибка] JSON (ожидается)
[ошибка] JSON, реферер: http://www.example.com/home.json (unexpeted, как это вторая запись в журнале)
я потерял, что-то я не у ожидаемые результаты - это не то, что я ожидал.
PS: i не выводит ошибки на странице, а только регистрирует ошибки в журналах. если это имело к этому какое-либо отношение o.O
Было бы неплохо узнать, почему люди голосуют. Если да, объясните. –
Невозможно воспроизвести его. Временные метки одинаковы в журнале ошибок? – rNix
да, за исключением того, что иногда они разделяются на 1 секунду. Что меня удивляет, я получаю совершенно другое поведение, чем обычно, по этому конкретному сценарию. Я даже изолированный включает, методы и функции для отладки. Должно быть, что-то, что я закодировал перед рукой. я просто ошеломлен, так как все остальное работает так, как ожидалось. Если я даже узнаю, что я сделаю свой вывод здесь –