使用 apache2 全新安装后 phpMyAdmin 无法工作

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

当我尝试访问 phpmyadmin 页面时,我收到以下错误:

<?php
declare(strict_types=1);
use PhpMyAdmin\Routing;
if (! defined('ROOT_PATH')) {
    // phpcs:disable PSR1.Files.SideEffects
    define('ROOT_PATH', __DIR__ . DIRECTORY_SEPARATOR);
    // phpcs:enable
}
global $route, $containerBuilder;
require_once ROOT_PATH . 'libraries/common.inc.php';
$dispatcher = Routing::getDispatcher();
Routing::callControllerForRoute($route, $dispatcher, $containerBuilder);

无法在互联网的任何像素上找到此问题的解决方案,任何帮助将不胜感激。

php phpmyadmin
7个回答
25
投票

我遇到了同样的问题,但通过以下命令解决了它

sudo apt install libapache2-mod-php8.1

sudo systemctl restart apache2

3
投票

您可以尝试使用

apt-get --purge remove php-common
删除我的 php,然后使用
apt-get install php7.4 php7.4-mysqli php7.4-xml
下载回来,然后使用
systemctl reload apache2
重新启动 apache。

如果以上方法不行,建议您重新下载phpmyadmin


2
投票

第 1 步 – 安装 Apache 和 PHP

$ sudo apt install apache2 wget unzip 
$ sudo apt install php php-zip php-json php-mbstring php-mysql 

安装完成后,启用并启动 Apache Web 服务器。

$ sudo systemctl enable apache2 
$ sudo systemctl start apache2

步骤 2 – 在 Ubuntu 22.04 上安装 phpMyAdmin

$ wget https://files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip 
$ unzip phpMyAdmin-5.2.0-all-languages.zip 
$ sudo mv phpMyAdmin-5.2.0-all-languages /usr/share/phpmyadmin 

接下来,创建 tmp 目录并设置适当的权限。这是使其正常工作的必要步骤。

$ sudo mkdir /usr/share/phpmyadmin/tmp 
$ sudo chown -R www-data:www-data /usr/share/phpmyadmin 
$ sudo chmod 777 /usr/share/phpmyadmin/tmp 

第 3 步 – 配置 phpMyAdmin

现在,您需要配置 Web 服务器以在网络上为 phpMyAdmin 提供服务。为 phpMyAdmin 创建 Apache 配置文件并在文本编辑器中编辑它:

$ sudo nano /etc/apache2/conf-available/phpmyadmin.conf

将以下内容添加到文件中。###

Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
 
<Directory /usr/share/phpmyadmin/>
   AddDefaultCharset UTF-8
   <IfModule mod_authz_core.c>
      <RequireAny>
      Require all granted
     </RequireAny>
   </IfModule>
</Directory>
 
<Directory /usr/share/phpmyadmin/setup/>
   <IfModule mod_authz_core.c>
     <RequireAny>
       Require all granted
     </RequireAny>
   </IfModule>
</Directory>

完成所有更改后,请确保启动 Apache 服务以重新加载所有设置。

$ sudo a2enconf phpmyadmin 
$ sudo systemctl restart apache2

第 4 步 – 调整防火墙D

启用防火墙的系统需要允许来自防火墙的 HTTP 服务。运行以下命令在防火墙中为网络服务器打开端口。

$ sudo firewall-cmd --permanent --add-service=http 
$ sudo firewall-cmd --reload 

如果您没有安装防火墙,请运行:

$ sudo apt-get firewall

0
投票

如果您在浏览器中看到 php 代码,则表示未使用 PHP 解释器。这意味着问题不在于 PhpMyAdmin,而在于您的 php 安装。我很快用谷歌搜索了this,但你(或其他人)可能会找到更好的教程。

当 apache php 和 mysql/mariadb 新手时,我建议安装 wampservermamp。他们确实承担了您所有的艰苦配置工作。


0
投票

试试这个。

sudo a2enmod php8.1
sudo systemctl restart apache2

0
投票

它应该可以工作。功劳归于 MoonE。

安装所需模块

sudo apt install php libapache2-mod-php

在 apache2 中启用 php,从可用模块列表中键入模块的名称

sudo a2enmod

重新加载 apache 以使更改的配置生效。

sudo systemctl 重新加载 apache2


-1
投票
sudo a2enmod php8.2
sudo systemctl restart apache2
© www.soinside.com 2019 - 2024. All rights reserved.