D.T
D.T

Reputation: 125

Why did phpMyAdmin stop working after upgrading Ubuntu to 22.04?

Just upgraded to Ubuntu 22.04 and now my phpadmin won't load. I get this following error

Parse error: syntax error, unexpected 'static' (T_STATIC) in /usr/share/php/Symfony/Component/DependencyInjection/ContainerBuilder.php on line 272

I opened up the file, and here is the specific code in that segment.

public function addResource(ResourceInterface $resource): static
{
    if (!$this->trackResources) {
        return $this;
    }

   if ($resource instanceof GlobResource && $this->inVendors($resource->getPrefix())) {
       return $this;
    }

    $this->resources[(string) $resource] = $resource;

   return $this;
}

Yesterday before the upgrade, everything was working fine. Does anybody have any suggestions?

Upvotes: 10

Views: 16396

Answers (6)

Angelus Roman
Angelus Roman

Reputation: 191

Check the php version currently running php -v.

you need php 8.3. If you have it, enable the php mode 8.3 sudo a2enmod php8.3 and disable the current php mode say sudo a2dismod php7.4

then restart apache sudo systemctl restart apache2

navigate to /etc/apache2/mods-available to verify the changes. then test to access phpmyadmin

Upvotes: 0

Nils
Nils

Reputation: 129

I'm using php7.4.30 and my fix was upgrading phpMyAdmin.

Here is a simple guide:

https://devanswers.co/manually-upgrade-phpmyadmin/

Upvotes: 12

Pawel
Pawel

Reputation: 11

  • upgrade php to 8.x
  • switch php version in apache:
cd /etc/apache2/mods-enabled/
sudo rm php7.4.conf
sudo rm php7.4.load
sudo ln -s ../mods-available/php8.0.load php8.0.load
sudo ln -s ../mods-available/php8.0.conf php8.0.conf

at the end, restart apache:

sudo /etc/init.d/apache2 restart

Upvotes: 1

Yes, it's a pain if you are running a PHP version prior to 8, such as 7.*. Download 5.2 here and install it.

https://www.phpmyadmin.net/downloads/

Completely purge your previous version and secure the directory where you install it (depends on your web server). That Symfony component ruined everything (line 272).

Upvotes: 3

Aakash Singha
Aakash Singha

Reputation: 11

You have to check your phpmyadmin version Coz in php 8.* version phpmyadmin 5.* version will be required.

Upvotes: 0

Grzegorz Pietrzak
Grzegorz Pietrzak

Reputation: 320

Since version 8.0, PHP allows static as a return type for class methods. Apparently your PHP version was downgraded.

Upvotes: 7

Related Questions