首页 > 解决方案 > phpmyadmin 空白页 - 'php index.php' 时出现 getCookie 错误

问题描述

访问 www.hostname/phpmyadmin/ 页面时,我得到空白页。尝试重新安装 PHP、HTTPD 和 MYSQL。在 phpmyadmin 文件夹中运行 php index.php 后,出现以下错误:

[root@ansible1 phpmyadmin]# php index.php 
PHP Fatal error:  Uncaught Error: Call to a member function getCookie() on null in /usr/share/phpmyadmin/libraries/classes/Url.php:219
Stack trace:
#0 /usr/share/phpmyadmin/libraries/classes/Url.php(171): PhpMyAdmin\Url::getCommonRaw(Array, '?')
#1 /usr/share/phpmyadmin/libraries/classes/Core.php(762): PhpMyAdmin\Url::getCommon(Array)
#2 /usr/share/phpmyadmin/libraries/classes/Core.php(338): PhpMyAdmin\Core::linkURL('https://secure....')
#3 /usr/share/phpmyadmin/libraries/classes/Core.php(364): PhpMyAdmin\Core::getPHPDocLink('book.json.php')
#4 /usr/share/phpmyadmin/libraries/classes/Core.php(1006): PhpMyAdmin\Core::warnMissingExtension('json', true)
#5 /usr/share/phpmyadmin/libraries/common.inc.php(110): PhpMyAdmin\Core::checkExtensions()
#6 /usr/share/phpmyadmin/index.php(23): require_once('/usr/share/phpm...')
#7 {main}
  thrown in /usr/share/phpmyadmin/libraries/classes/Url.php on line 219

在相应文件的第 219 行:

 public static function getCommonRaw($params = [], $divider = '?')
    {
        /** @var Config $PMA_Config */
        global $PMA_Config;
        $separator = Url::getArgSeparator();

        // avoid overwriting when creating navi panel links to servers
        if (isset($GLOBALS['server'])
            && $GLOBALS['server'] != $GLOBALS['cfg']['ServerDefault']
            && ! isset($params['server'])
            && ! $PMA_Config->get('is_setup')
        ) {
            $params['server'] = $GLOBALS['server'];
        }

        if (empty($PMA_Config->getCookie('pma_lang')) && ! empty($GLOBALS['lang'])) {
            $params['lang'] = $GLOBALS['lang'];
        }

        $query = http_build_query($params, '', $separator);

        if ($divider != '?' || strlen($query) > 0) {
            return $divider . $query;
        }

不知道我做错了什么,但还没有在互联网上发现这个错误......河豚的秘密已设置:

$cfg['blowfish_secret'] = 'H2OxcGXxflSd8JwrwVlh6KW6s2rER63i';

知道我会错过什么吗?即使是提示看什么方向也将不胜感激。

编辑1:

降级到版本 4.9.4 - 得到类似的错误:

所以在降级到 4.9.4 版本后,我得到了非常相似的......

[root@ansible1 phpmyadmin]# php index.php 
PHP Fatal error:  Uncaught Error: Call to a member function getCookie() on null in /usr/share/phpmyadmin/libraries/classes/Url.php:217
Stack trace:
#0 /usr/share/phpmyadmin/libraries/classes/Url.php(169): PhpMyAdmin\Url::getCommonRaw(Array, '?')
#1 /usr/share/phpmyadmin/libraries/classes/Core.php(749): PhpMyAdmin\Url::getCommon(Array)
#2 /usr/share/phpmyadmin/libraries/classes/Core.php(330): PhpMyAdmin\Core::linkURL('https://secure....')
#3 /usr/share/phpmyadmin/libraries/classes/Core.php(353): PhpMyAdmin\Core::getPHPDocLink('book.json.php')
#4 /usr/share/phpmyadmin/libraries/classes/Core.php(987): PhpMyAdmin\Core::warnMissingExtension('json', true)
#5 /usr/share/phpmyadmin/libraries/common.inc.php(106): PhpMyAdmin\Core::checkExtensions()
#6 /usr/share/phpmyadmin/index.php(27): require_once('/usr/share/phpm...')
#7 {main}
  thrown in /usr/share/phpmyadmin/libraries/classes/Url.php on line 217

该页面现在显示:拒绝访问 - 简单地写,没有图片或任何东西。

我错过了什么?:/

[浏览器视图1

标签: phpphpmyadmin

解决方案


我不知道我之前的帖子是否可见,所以我再次发布:

我收到了同样的错误信息,第 4 行显示:“PhpMyAdmin\Core::warnMissingExtension('json', true)”。

安装 php-json 包后,问题就解决了。


推荐阅读