Confused about PHPStorm determine PHP version of repo

I'm getting cognitive dissonance (mixed messages?) here:

The project was originally written in PHP 5, was upgraded early last year to PHP 7.3, and now we're trying to upgrade it to PHP 7.4.

Why is PHPStorm saying "Language level was set to 7.3 based on the features used in the project" while also showing "PHP 5.6" below that (on the Language Level button)?

Example of clicking that PHP 5.6 Language Level button just so it's clear what I'm talking about:

Strangely, when I clicked it, it changed under the pop-up to PHP 7.3... so this is really weird. Is that just a display bug? Why does it only change to PHP 7.3 after I click the button but before making a selection? When it was showing PHP 5.6, was it actually considering the code in PHP 5.6, or in PHP 7.3? I'm really confused on what the editor is actually doing here.

Closing the pop-up leaves the Language Level button text at PHP 7.3... so now I'm not sure if it indexed the code at level PHP 5.6 or 7.3... nor do I know if I should run Invalidate Cache...



Yes, looks like a widget bug. You can always reliably check your project PHP language level at Settings (Preferences on macOS) | PHP.


Should I just copy and paste my post to a new ticket?


Please sign in to leave a comment.