为什么Ubuntu升级到22.04后phpMyAdmin停止工作了?

问题描述 投票:0回答:7

刚刚升级到 Ubuntu 22.04,现在我的 phpadmin 无法加载。我收到以下错误

解析错误:语法错误,/usr/share/php/Symfony/Component/DependencyInjection/ContainerBuilder.php 第 272 行出现意外的“静态”(T_STATIC)

我打开了文件,这是该段中的具体代码。

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;
}

昨天升级之前,一切正常。有人有什么建议吗?

php symfony ubuntu phpmyadmin ubuntu-22.04
7个回答
12
投票

我使用 php7.4.30,我的修复是升级 phpmyadmin。

这是一个简单的指南:

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


6
投票

从 8.0 版本开始,PHP 允许

static
作为类方法的返回类型。显然你的 PHP 版本已降级。


1
投票

是的,如果您运行的是 8 之前的 PHP 版本,例如 7.*,这会很痛苦。 在这里下载 5.2 并安装。

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

完全清除以前的版本并保护安装目录的安全(取决于您的网络服务器)。 Symfony 组件毁了一切(第 272 行)。


1
投票
  • 将 php 升级到 8.x
  • 在apache中切换php版本:
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

最后,重启apache:

sudo /etc/init.d/apache2 restart

0
投票

您必须检查您的 phpmyadmin 版本,因为 php 8.* 版本需要 phpmyadmin 5.* 版本。


0
投票

如果您使用 opcache 预加载,您可能会遇到 phpMyAdmin 的 Symfony 命名空间与您自己的应用程序的命名空间之间的冲突。我的解决方法是在不同版本的 PHP 上运行 phpMyAdmin


-3
投票

如果你连 phpmyadmin、php 和 linux 系统信息都无法提供,你如何指望别人来帮助你?

© www.soinside.com 2019 - 2024. All rights reserved.