升级我的小型云服务器后,我的网页无法启动,phpmyadmin 也无法启动

升级我的小型云服务器后,我的网页无法启动,phpmyadmin 也无法启动

在我的小型云服务器上运行 do-release-upgrade 后,我的网页无法工作,phpadmin 也无法启动。升级从 20.04 Server 升级到 22.04 Server。升级成功结束。我可以通过 ssh 进入服务器

当我输入我的网页地址时,我看到了index.php的内容,但仅此而已。

<?php
 // don't forget the / before the file name!! VIP VIP VIP DO NOT FORGET THE /  ï¼ï¼
//include $_SERVER['DOCUMENT_ROOT'] . '/startfile.html.php';
header('location: startfile.html.php')
?>

但我没有得到我的startfile.html.php。升级前一切正常!

另外,我无法访问 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);

我可以通过 ssh 访问服务器。

apache2 mydomain.error.log 中有一个错误,说它无法统计 mydomain/public_html/wp-login.php

我不知道为什么它要寻找 wp-login.php 我从来没有这样的文件。

为什么我的 index.php 无法打开我的 startfile.html.php?

我可以以普通非 root 用户身份从命令行访问 mysql。

答案1

问题解决了一半:

在 /etc/apache2/mods-enabled 中,php7.4 和 php8.1 都有条目:

php7.4.load 和 php7.4.conf php8.1.load 和 php8.1.conf

php7.4 未安装。但我认为 apache2 正在尝试加载 php7.4 模块

我将它们重命名为 php7.4.load.old 和 php7.4.conf.old

现在我可以在浏览器中打开 phpmyadmin,因此一半的问题解决了。

仍在尝试弄清楚为什么 PHP 就网页而言无法工作!

现在网页可以正常工作了:我将其放入 /etc/apache2/apache2.conf 中

<Directory /var/www/*>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

之前我只看过 William Desportes 推荐的下面这个,但它限制了在 /var/www/ 中打开文件

<Directory />
        Options SymLinksIfOwnerMatch
        DirectoryIndex index.php
        #AllowOverride None
        #Require all denied
        # limit libapache2-mod-php to files and directories necessary by pma
        # PHP 8+
        <IfModule mod_php.c>
                php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
                php_admin_value open_basedir /var/www/:/usr/share/phpmyadmin/:/usr/share/doc/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/:/usr/share/javascript/
        </IfModule>
</Directory>

/var/log/apache2/mydomain.com-error.log 中的错误是:

[Thu Jul 13 08:39:27.883981 2023] [php:warn] [pid 6793] [client 35.167.198.156:55492] PHP 警告:未知:open_basedir 限制生效。文件 (/var/www/mydomain.com/public_html/index.php) 不在允许的路径内:(/usr/share/phpmyadmin/:/usr/share/doc/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/:/usr/share/javascript/) 位于未知的第 0 行

现在看来一切都正常了!

相关内容