Xdebug и логи

Обсуждение проблем в работе программного комплекса
Аватара пользователя
nick
Сообщения: 115
Зарегистрирован:
06 окт 2011, 10:41
Откуда: Россия
Контактная информация:

nick » 05 май 2014, 21:52

Максим, во первых: огромное спасибо за помощь в моем тупняке.
Во вторых: я добился это только тем, что отключил строки в фреймворке:
ini_set('display_errors',0);
		// Deprecated directives
		@ini_set('magic_quotes_gpc',0);
		@ini_set('register_globals',0);
		// Abort on startup error
		// Intercept errors/exceptions; PHP5.3-compatible
		error_reporting(E_ALL|E_STRICT);
		$fw=$this;
		set_exception_handler(
			function($obj) use($fw) {
				$fw->error(500,$obj->getmessage(),$obj->gettrace());
			}
		);
		set_error_handler(
			function($code,$text) use($fw) {
				if (error_reporting())
					$fw->error(500,$text);
			}
		);
Но я не думаю, что это выход из ситуации :cry: Разработчики не меняли этот файл давно (он базовый). И это было сделано, чтобы можно было переключать уровень вывода ошибок строкой DEBUG=1 или DEBUG=3,а вышло, что оно совсем перестало работать :shock:
А что касается нехватающией функции из за защиты Open Server, то вот как он настроен сейчас:
Изображение
:shock: Залип. Посижу, подумаю.
Аватара пользователя
Максим
Сообщения: 5385
Зарегистрирован:
11 дек 2010, 20:29
Контактная информация:

Максим » 05 май 2014, 21:56

В таком случае должно было помочь отключение Xdebug и html_errors в конфиге PHP. Тогда ошибки будут выводиться как раньше, просто текстом. Но мы это кажется пробовали через тимвьювер и не помогло.
Аватара пользователя
nick
Сообщения: 115
Зарегистрирован:
06 окт 2011, 10:41
Откуда: Россия
Контактная информация:

nick » 05 май 2014, 22:08

Завтра, на свежую голову, попробую потрейсить каждую функцию и посмотреть какая не сработала. Из этого уже можно будет сделать вывод: либо и правда в php что то изменилось (авось версия не та) или бросить камешек в огород разработчика фреймворка. :mrgreen:
Но одно я понял сегодня: как хорошо, что у каждой версии php свой конфигурационный файлик.
ЗЫ: Если включить NGINX, то ошибок нет совсем никаких. Только: 502 Bad Gateway
Аватара пользователя
Asmodey
Сообщения: 339
Зарегистрирован:
18 апр 2012, 10:33
Контактная информация:

Asmodey » 06 май 2014, 10:01

nick писал(а):ЗЫ: Если включить NGINX, то ошибок нет совсем никаких. Только: 502 Bad Gateway
И это правильно! Падает бэк-енд. Фронт просто не знает, что случилось.
Аватара пользователя
nick
Сообщения: 115
Зарегистрирован:
06 окт 2011, 10:41
Откуда: Россия
Контактная информация:

nick » 06 май 2014, 20:46

:lol: А как люди дебажат если сервер nginx извините? А то я всегда на апаче

Добавлено спустя 20 минут 47 секунд:
Разработчик фреймворка говорит:
It's a coding error on your part.
The framework catches fatal errors and waits for PHP to send a stack trace. Syntax errors don't have a any, so F3 reports nothing. If display_errors=1, you'll see the message on your browser. In your case, is display_errors enabled by default in php.ini? Not everyone has that setting enabled. And not all frameworks display fatal errors, but most will save to an error log. F3 tries to be informative when it can.
:lol: Вот такая веселая разработка намечается
Аватара пользователя
Asmodey
Сообщения: 339
Зарегистрирован:
18 апр 2012, 10:33
Контактная информация:

Asmodey » 07 май 2014, 05:03

ХЗ. Тоже на апачи в разработке. Вроде как он локально-то доступен. Но вестимо адский ад, ну как фронт решит кэш отдать и не беспокоить бэк вообще.

Ну таки они говорят, что Ф3 кажет, что ему отдаст пых. Если там синтаксическая ошибка, то всё взорвётся.... :)

Место где всё валится локализовали?
Аватара пользователя
nick
Сообщения: 115
Зарегистрирован:
06 окт 2011, 10:41
Откуда: Россия
Контактная информация:

nick » 07 май 2014, 07:47

:) Я сэмулировал ошибку, чтоб показать что происходит. Где ошибка я вкурсе. Мне интересно как включить обратно показ строки и подробности ошибки. Пришлось вырезать дебагер, чтоб он не кукарекал. :( Как временное решение прокатило.
Аватара пользователя
nick
Сообщения: 115
Зарегистрирован:
06 окт 2011, 10:41
Откуда: Россия
Контактная информация:

nick » 28 май 2014, 22:11

Чтобы не флудить в другом разделе.
Воспроизвести можно так:
Заливаем в любой домен репозиторий: https://github.com/uonick/f3-init
Прописываем в конфиге любую базу: https://github.com/uonick/f3-init/blob/ ... ig.ini#L18
Убираем точку с запятой здесь: https://github.com/uonick/f3-init/blob/ ... ain.php#L5
$db=$this->db;
Заходим на этот домен.
получается
HTTP Fatal error: syntax error, unexpected '$f3' (T_VARIABLE) (GET /)
Добавлено спустя 15 часов 51 минуту 58 секунд:
Максим, сори что тимвивер не сбросил, на работе сообщение прочитал :roll: домашний компьютер был выключен. Пришел домой, провел эксперимент: закоментировал ВСЕ строки связанные с xdebug, и получил вот это:
Parse error: syntax error, unexpected '$f3' (T_VARIABLE) in D:\OpenServer\domains\ph.su\app\main.php on line 8

Warning: Cannot modify header information - headers already sent by (output started at D:\OpenServer\domains\ph.su\app\main.php:8) in D:\OpenServer\domains\ph.su\framework\base.php on line 933
HTTP Fatal error: syntax error, unexpected '$f3' (T_VARIABLE) (GET /)
:) И это то, что я хотел. Может что то с неверной настройкой xdebug связано? Или версия бажная? Он же перехватывает сообщения об ошибке, может случайно резанул все остальное?
Ответить