Minor issue within yii\debug\panels\RequestPanel

Hi,

This is minor issue IMHO but worth fixing.

Down within yii\debug\panels\RequestPanel there is "getFlashes()" method where


$counters = $session->get($session->flashParam, []);

depends on proper session initialization but this is actually unchecked, so in case session handling is yet misconfigured (i.e. missing appropriate configuration entry) - this will throw unhandled exception what results in method failure. In the consequence, debug data file is never created and empty debug toolbar is presented with "Not Found (#404): Unable to find debug data tagged with…" message.

That happened to me when brand new application was just created with default config files. I could see "Congratulations! - You have successfully created your Yii-powered application." but debug toolbar was erratic.

I believe that is cosmetic - of course - but a bit nasty and should be corrected, so some more meaningful message suggested appropriate measures. Less experienced users can be easily puzzled with this error.

How to reproduce it i.e. how to misconfigure session the way it errors?

Hi Alexandr!

Nothing special, actually. I just decided to re-create my entire system form scratch with Windows 10, so I installed fresh system, fresh Apache with fresh PHP as FastCGI - just changed session.save_handler from “files” to “user”. Then I configured Apache to dynamic virtual hosts, installed Composer, installed Yii2 and various extensions to C:\Sites\vendor while actual application to C:\Sites\www\MyApp\protected and its ‘web’ folder to C:\Sites\www\MyApp\web, modified index.php and index-test.php to point to appropriate locations. I also added appropriate ‘vendorPath’ entry in the web.php config file.

Please notice, at this moment I did not yet configured database. When I checked my application in the browser (routing through modified ‘drivers/etc’ file) I could see the welcome screen but debug toolbar was faulty.

::)