Как получить более подходящую трассировку стека (имя файла и номер строки) для фатальной ошибки hhvm? - PullRequest
0 голосов
/ 13 мая 2019

У меня есть наследие hhvm restful api.

Я сделал некоторые изменения в его кодовой базе, и теперь мой локальный сервер выдает:

Syntax only allowed in Hack files (<?hh) or with -v 
Eval.EnableHipHopSyntax=true

Моя текущая настройка hhvm внутри моего php.ini:

; hhvm specific
hhvm.log.level = Warning
hhvm.log.always_log_unhandled_exceptions = true
hhvm.log.runtime_error_reporting_level = 8191
hhvm.mysql.typed_results = false
date.timezone="Europe/Berlin"
hhvm.libxml.ext_entity_whitelist = file,http

Я проверил журнал на

cat /var/log/hhvm/error.log 

И все же он пуст.

Я не хочу разрешать синтаксис файла взлома, но мне нужна более важная информация о том, где происходит ошибка.

Я хочу хотя бы знать, в каком файле я создал ошибку. Приятно было бы знать, в какой строке и в каком месте символа находится эта строка. API является внутренним, поэтому я не против пока раскрыть эту информацию.

Прямо сейчас я прохожу git diff, и это не очень эффективный способ найти код, нарушающий работу.

1 Ответ

0 голосов
/ 13 мая 2019

Это не приведет к появлению ошибки в ответе сервера, но проверьте настройки вашей песочницы.

Журнал ошибок может находиться в вашей hhvm песочнице , а не в главной папке hhvm:

/var/log/hhvm/sandbox/error.log

Там вы найдете соответствующую информацию с контекстом ошибки:

[Mon May 13 15:40:32 2019] [hphp] [25:7fe693fff700:413:000001] [] \nFatal error: Syntax only allowed in Hack files (<?hh) or with -v Eval.EnableHipHopSyntax=true in /var/www/service/src/Dreamlines/BookingService/Bundle/OperatorBundle/Soap/Call/CallBuilderFactory.php on line 177
...