nette / tracy

😎 Tracy: the addictive tool to ease debugging PHP code for cool developers. Friendly design, logging, profiler, advanced features like debugging AJAX calls or CLI support. You will love it.
https://tracy.nette.org
Other
1.75k stars 218 forks source link

Tracy distributed in phar file doesn't work on PHP7 from version 2.9.5 #562

Closed lysyjan closed 11 months ago

lysyjan commented 1 year ago

From Version: 2.9.5 to 2.9.7

Bug Description

The class \Tracy\DefaultBarPanel cannot be found because PHP code in phar files is without new lines, and class attribute #[\AllowDynamicProperties] is considered as a one-line comment.

PHP Fatal error:  Uncaught Error: Class 'Tracy\DefaultBarPanel' not found in phar:///var/www/html/sandbox/tracy.phar/Tracy/Debugger/Debugger.php:435
Stack trace:
#0 phar:///var/www/html/sandbox/tracy.phar/Tracy/Debugger/Debugger.php(478): Tracy\Debugger::getBar()
#1 phar:///var/www/html/sandbox/tracy.phar/Tracy/Debugger/Debugger.php(276): Tracy\Debugger::getStrategy()
#2 /var/www/html/sandbox/sandbox.php(5): Tracy\Debugger::renderLoader()
#3 {main}
  thrown in phar:///var/www/html/sandbox/tracy.phar/Tracy/Debugger/Debugger.php on line 435

Steps To Reproduce

  1. Download tracy.phar
  2. Require tracy via phar file
  3. Call \Tracy\Debugger::renderLoader();
  4. Observe the error

Expected Behavior

Render Tracy without an error.

Possible Solution

In my opinion, the easier solution is to mark version 2.9.5 and higher as incompatible with PHP 7.*

dg commented 1 year ago

Thanks, fixed