Panel not found after switching to new php Version

I’m running Kirby 2.5.5 locally in a Docker Container and on a Live Site. With PHP Version 5.5 it works fine on Live. When switching to PHP 7.x my local install shows 404 error when trying to login to the backend. On my Live Site when I switch to 7.x and try to access the panel I get the following warnings:

Deprecated: idn_to_ascii(): INTL_IDNA_VARIANT_2003 is deprecated in /kirby/vendor/getkirby/toolkit/lib/url.php on line 402

Warning: Cannot modify header information - headers already sent by (output started at /kirby/vendor/getkirby/toolkit/lib/url.php:402) in /kirby/vendor/getkirby/toolkit/lib/header.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at /kirby/vendor/getkirby/toolkit/lib/url.php:402) in /kirby/vendor/getkirby/toolkit/lib/header.php on line 252

Can anyone help me and tell me what to do or what I’m doing wrong?

What PHP version exactly do you use?

If you use 7.4, you have to upgrade to Kirby 2.5.13.

In any case you should probably update to this most recent Kirby 2 version.

I testet with 7.0 trough 7.4, all had the same outcome. Any 7.x would be fine, but I’m aiming to at least 7.2.

I tried Updating but I got this error:

Fatal error: Uncaught Error: Access to undeclared static property: Kirby\Cms\S::$fingerprint in /var/www/html/www/site/config/config.php:40 Stack trace: #0 /var/www/html/www/kirby/src/Toolkit/F.php(372): include() #1 /var/www/html/www/kirby/src/Cms/App.php(830): Kirby\Toolkit\F::load('/var/www/html/w...', Array) #2 /var/www/html/www/kirby/src/Cms/App.php(92): Kirby\Cms\App->optionsFromConfig() #3 /var/www/html/www/kirby/src/Cms/App.php(533): Kirby\Cms\App->__construct() #4 /var/www/html/www/kirby/config/helpers.php(395): Kirby\Cms\App::instance() #5 /var/www/html/www/site.php(8): kirby() #6 /var/www/html/www/index.php(10): require('/var/www/html/w...') #7 {main} thrown in /var/www/html/www/site/config/config.php on line 40

I wanted to update anyway but wasn’t sure if fixing errors and then updating or updating and then fix errors was easier.

Try removing that fingerprint code in your config that is causing the error.

Now I get this error:

Error thrown with message "Cannot access protected property Kirby\Cms\App::$roots"

Stacktrace:
#1 Error in /var/www/html/www/site.php:30
#0 require in /var/www/html/www/index.php:10

my /var/www/html/www/site.php:30 looks like this:

$kirby->roots->site = __DIR__ . DS . 'site';

:thinking: Not really used to Kirby 2 anymore, have to check if anything has changed…

Which version of Kirby did you download? This looks like you accidentally downloaded Kirby 3 instead of the latest version of Kirby 2?

This is the latest Kirby 2 release: https://github.com/getkirby-v2/kirby/releases/tag/2.5.13

You’re right, I did download Kirby 3. Now I downloaded Kirby 2.5.13 updated my Kirby folder. Now I again with the 404 error on my panel.

I totally forgot to mention that you also need a matching panel folder from here: https://github.com/getkirby-v2/panel/releases/tag/2.5.13

I did update my panel. I took both links from this post: Kirby 2.5.13 is here; update on future v2 support

Still I get the 404 on my panel

And your .htaccess is the original one?

No, but I tested with the default .htaccess and got the same result

Do subpages work or only the start page?

Is the mb_string extension enabled?

Subpages work. I had a Issue with a Contact Form, but I was able to fix this myself.

I checked my phpinfo for mbstring and found this:

Multibyte decoding support using mbstring	enabled

Is this right?

Hm, that looks ok. Are you using any Panel plugins?

I have 4 Plugins: focus, kirby-revisions, uniform and vcards.
I don’t think any of them have anything to do with the panel, but I’m not sure.

Please check and make sure that you are using the latest versions of these plugins (the ones for Kirby 2) to make sure they are also compatible with PHP 7.x.

kirby-revisions is deprecated, anyway, I think.

I tried to deactivate all Plugins and I still couldn’t reach panel.
I’m still stuck on this problem.

Is there any other hint you can give me?

Let’s get some order into this again and see where we currently are:

  • Have you updated Kirby and the Panel to 2.5.13?

  • Are we talking about the local Docker container, the live site or both?

  • Is PHP really set to 7.1+ (make sure by checking phpinfo())?

  • Have you also tried to install a fresh 2.5.13 Starterkit to check if that works?

In older versions, I was getting the same error. Its fixed when they updated to 2.5.12/13.