Тема: Ошибки после конфигурирования phpmyadmin 5.1.1+PHP8 (решено!)
(Решено!)
Здравствуйте, уважаемые форумчане. Пользуясь случаем поздравляю всех с наступившим Новым 2022 Годом.
История такова: Выполнял установку по инструкции авторитетного ресурса. Успешно установил сервер Apache, PHP, MySQL, и приступил к установке phpmyadmin (phpMyAdmin-5.1.1-all-languages).
Закинул всё, что нужно-куда нужно, создал config.inc.php:
<?php
/* Servers configuration */
$i = 0;
/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['nopassword'] = true;
$cfg['Servers'][$i]['AllowNoPassword'] = true;
/* End of servers configuration */
$cfg['blowfish_secret'] = 'kjLGJ8g;Hj3mlHy+Gd~FE3mN{gIATs^1lX+T=KVYv{ubK*U0V';
$cfg['DefaultLang'] = 'ru';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
?>
Судя по заверениям многих ресурсов (в т.ч. и "примерного") всё проходит без ошибок в панели управления phpmyadmin.
Заходя в панель управления, она сразу осыпает меня мишурой всяческих предупреждений, как из хлопушки:
Deprecation Notice in .\vendor\twig\twig\src\Loader\FilesystemLoader.php#40
realpath(): Passing null to parameter #1 ($path) of type string is deprecated
Backtrace
FilesystemLoader.php#40: realpath(NULL)
Template.php#57: Twig\Loader\FilesystemLoader->__construct(string 'C:\\Server\\data\\htdocs\\phpmyadmin\\\\templates\\')
Theme.php#101: PhpMyAdmin\Template->__construct()
Theme.php#174: PhpMyAdmin\Theme->__construct()
ThemeManager.php#307: PhpMyAdmin\Theme::load(
string './themes/metro',
string 'C:\\Server\\data\\htdocs\\phpmyadmin\\./themes/metro/',
)
ThemeManager.php#79: PhpMyAdmin\ThemeManager->loadThemes()
ThemeManager.php#121: PhpMyAdmin\ThemeManager->__construct()
ThemeManager.php#385: PhpMyAdmin\ThemeManager::getInstance()
common.inc.php#240: PhpMyAdmin\ThemeManager::initializeTheme()
index.php#15: require_once(.\libraries\common.inc.php)
=================================================================================
Deprecation Notice in .\vendor\twig\twig\src\Markup.php#35
Return type of Twig\Markup::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Backtrace
ClassLoader.php#444: include(.\vendor\twig\twig\src\Markup.php)
ClassLoader.php#322: Composer\Autoload\includeFile(string 'C:\\Server\\data\\htdocs\\phpmyadmin\\vendor\\composer/../twig/twig/src/Markup.php')
46f1bfbf4328d3d22fddffb9178fdeb9868d0740e4cc8b5bbd6f2fcfb8e4523e.php#59: Composer\Autoload\ClassLoader->loadClass(string 'Twig\\Markup')
Template.php#405: __TwigTemplate_034511bee5325c368ee003e3d97d6cb47c3e1c94ebb527bcf0b76ba7818d1ac6->doDisplay(
array,
array,
)
Template.php#378: Twig\Template->displayWithErrorHandling(
array,
array,
)
Template.php#390: Twig\Template->display(array)
TemplateWrapper.php#45: Twig\Template->render(
array,
array,
)
Template.php#132: Twig\TemplateWrapper->render(array)
Header.php#714: PhpMyAdmin\Template->render(
string 'javascript/variables',
array,
)
Header.php#193: PhpMyAdmin\Header->getVariablesForJavaScript()
Header.php#142: PhpMyAdmin\Header->addDefaultScripts()
Response.php#184: PhpMyAdmin\Header->__construct()
Response.php#215: PhpMyAdmin\Response->__construct()
common.inc.php#296: PhpMyAdmin\Response::getInstance()
index.php#15: require_once(.\libraries\common.inc.php)
=================================================================================
Deprecation Notice in .\vendor\twig\twig\src\Markup.php#40
Return type of Twig\Markup::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Backtrace
ClassLoader.php#444: include(.\vendor\twig\twig\src\Markup.php)
ClassLoader.php#322: Composer\Autoload\includeFile(string 'C:\\Server\\data\\htdocs\\phpmyadmin\\vendor\\composer/../twig/twig/src/Markup.php')
46f1bfbf4328d3d22fddffb9178fdeb9868d0740e4cc8b5bbd6f2fcfb8e4523e.php#59: Composer\Autoload\ClassLoader->loadClass(string 'Twig\\Markup')
Template.php#405: __TwigTemplate_034511bee5325c368ee003e3d97d6cb47c3e1c94ebb527bcf0b76ba7818d1ac6->doDisplay(
array,
array,
)
Template.php#378: Twig\Template->displayWithErrorHandling(
array,
array,
)
Template.php#390: Twig\Template->display(array)
TemplateWrapper.php#45: Twig\Template->render(
array,
array,
)
Template.php#132: Twig\TemplateWrapper->render(array)
Header.php#714: PhpMyAdmin\Template->render(
string 'javascript/variables',
array,
)
Header.php#193: PhpMyAdmin\Header->getVariablesForJavaScript()
Header.php#142: PhpMyAdmin\Header->addDefaultScripts()
Response.php#184: PhpMyAdmin\Header->__construct()
Response.php#215: PhpMyAdmin\Response->__construct()
common.inc.php#296: PhpMyAdmin\Response::getInstance()
index.php#15: require_once(.\libraries\common.inc.php)
=================================================================================
Deprecation Notice in .\vendor\phpmyadmin\sql-parser\src\TokensList.php#184
Return type of PhpMyAdmin\SqlParser\TokensList::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Backtrace
ClassLoader.php#444: include(.\vendor\phpmyadmin\sql-parser\src\TokensList.php)
ClassLoader.php#322: Composer\Autoload\includeFile(string 'C:\\Server\\data\\htdocs\\phpmyadmin\\vendor\\composer/../phpmyadmin/sql-parser/src/TokensList.php')
Lexer.php#220: Composer\Autoload\ClassLoader->loadClass(string 'PhpMyAdmin\\SqlParser\\TokensList')
Lexer.php#192: PhpMyAdmin\SqlParser\Lexer->lex()
Parser.php#364: PhpMyAdmin\SqlParser\Lexer->__construct(
string 'SELECT 1 FROM mysql.user LIMIT 1; ',
boolean false,
)
Tracker.php#717: PhpMyAdmin\SqlParser\Parser->__construct(string 'SELECT 1 FROM mysql.user LIMIT 1; ')
Tracker.php#861: PhpMyAdmin\Tracker::parseQuery(string 'SELECT 1 FROM mysql.user LIMIT 1; ')
DatabaseInterface.php#256: PhpMyAdmin\Tracker::handleQuery(string 'SELECT 1 FROM mysql.user LIMIT 1; ')
DatabaseInterface.php#1773: PhpMyAdmin\DatabaseInterface->tryQuery(
string 'SELECT 1 FROM mysql.user LIMIT 1',
integer 256,
integer 1,
)
HomeController.php#79: PhpMyAdmin\DatabaseInterface->isSuperUser()
Routing.php#187: PhpMyAdmin\Controllers\HomeController->index(array)
index.php#18: PhpMyAdmin\Routing::callControllerForRoute(
string '/',
,
,
)
=================================================================================
Deprecation Notice in .\vendor\phpmyadmin\sql-parser\src\TokensList.php#172
Return type of PhpMyAdmin\SqlParser\TokensList::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Backtrace
ClassLoader.php#444: include(.\vendor\phpmyadmin\sql-parser\src\TokensList.php)
ClassLoader.php#322: Composer\Autoload\includeFile(string 'C:\\Server\\data\\htdocs\\phpmyadmin\\vendor\\composer/../phpmyadmin/sql-parser/src/TokensList.php')
Lexer.php#220: Composer\Autoload\ClassLoader->loadClass(string 'PhpMyAdmin\\SqlParser\\TokensList')
Lexer.php#192: PhpMyAdmin\SqlParser\Lexer->lex()
Parser.php#364: PhpMyAdmin\SqlParser\Lexer->__construct(
string 'SELECT 1 FROM mysql.user LIMIT 1; ',
boolean false,
)
Tracker.php#717: PhpMyAdmin\SqlParser\Parser->__construct(string 'SELECT 1 FROM mysql.user LIMIT 1; ')
Tracker.php#861: PhpMyAdmin\Tracker::parseQuery(string 'SELECT 1 FROM mysql.user LIMIT 1; ')
DatabaseInterface.php#256: PhpMyAdmin\Tracker::handleQuery(string 'SELECT 1 FROM mysql.user LIMIT 1; ')
DatabaseInterface.php#1773: PhpMyAdmin\DatabaseInterface->tryQuery(
string 'SELECT 1 FROM mysql.user LIMIT 1',
integer 256,
integer 1,
)
HomeController.php#79: PhpMyAdmin\DatabaseInterface->isSuperUser()
Routing.php#187: PhpMyAdmin\Controllers\HomeController->index(array)
index.php#18: PhpMyAdmin\Routing::callControllerForRoute(
string '/',
,
,
)
=================================================================================
Deprecation Notice in .\vendor\phpmyadmin\sql-parser\src\TokensList.php#156
Return type of PhpMyAdmin\SqlParser\TokensList::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Backtrace
ClassLoader.php#444: include(.\vendor\phpmyadmin\sql-parser\src\TokensList.php)
ClassLoader.php#322: Composer\Autoload\includeFile(string 'C:\\Server\\data\\htdocs\\phpmyadmin\\vendor\\composer/../phpmyadmin/sql-parser/src/TokensList.php')
Lexer.php#220: Composer\Autoload\ClassLoader->loadClass(string 'PhpMyAdmin\\SqlParser\\TokensList')
Lexer.php#192: PhpMyAdmin\SqlParser\Lexer->lex()
Parser.php#364: PhpMyAdmin\SqlParser\Lexer->__construct(
string 'SELECT 1 FROM mysql.user LIMIT 1; ',
boolean false,
)
Tracker.php#717: PhpMyAdmin\SqlParser\Parser->__construct(string 'SELECT 1 FROM mysql.user LIMIT 1; ')
Tracker.php#861: PhpMyAdmin\Tracker::parseQuery(string 'SELECT 1 FROM mysql.user LIMIT 1; ')
DatabaseInterface.php#256: PhpMyAdmin\Tracker::handleQuery(string 'SELECT 1 FROM mysql.user LIMIT 1; ')
DatabaseInterface.php#1773: PhpMyAdmin\DatabaseInterface->tryQuery(
string 'SELECT 1 FROM mysql.user LIMIT 1',
integer 256,
integer 1,
)
HomeController.php#79: PhpMyAdmin\DatabaseInterface->isSuperUser()
Routing.php#187: PhpMyAdmin\Controllers\HomeController->index(array)
index.php#18: PhpMyAdmin\Routing::callControllerForRoute(
string '/',
,
,
)
=================================================================================
Deprecation Notice in .\vendor\phpmyadmin\sql-parser\src\TokensList.php#194
Return type of PhpMyAdmin\SqlParser\TokensList::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Backtrace
ClassLoader.php#444: include(.\vendor\phpmyadmin\sql-parser\src\TokensList.php)
ClassLoader.php#322: Composer\Autoload\includeFile(string 'C:\\Server\\data\\htdocs\\phpmyadmin\\vendor\\composer/../phpmyadmin/sql-parser/src/TokensList.php')
Lexer.php#220: Composer\Autoload\ClassLoader->loadClass(string 'PhpMyAdmin\\SqlParser\\TokensList')
Lexer.php#192: PhpMyAdmin\SqlParser\Lexer->lex()
Parser.php#364: PhpMyAdmin\SqlParser\Lexer->__construct(
string 'SELECT 1 FROM mysql.user LIMIT 1; ',
boolean false,
)
Tracker.php#717: PhpMyAdmin\SqlParser\Parser->__construct(string 'SELECT 1 FROM mysql.user LIMIT 1; ')
Tracker.php#861: PhpMyAdmin\Tracker::parseQuery(string 'SELECT 1 FROM mysql.user LIMIT 1; ')
DatabaseInterface.php#256: PhpMyAdmin\Tracker::handleQuery(string 'SELECT 1 FROM mysql.user LIMIT 1; ')
DatabaseInterface.php#1773: PhpMyAdmin\DatabaseInterface->tryQuery(
string 'SELECT 1 FROM mysql.user LIMIT 1',
integer 256,
integer 1,
)
HomeController.php#79: PhpMyAdmin\DatabaseInterface->isSuperUser()
Routing.php#187: PhpMyAdmin\Controllers\HomeController->index(array)
index.php#18: PhpMyAdmin\Routing::callControllerForRoute(
string '/',
,
,
)
=================================================================================
Deprecation Notice in .\vendor\twig\twig\src\Node\Node.php#161
Return type of Twig\Node\Node::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Backtrace
ClassLoader.php#444: include(.\vendor\twig\twig\src\Node\Node.php)
ClassLoader.php#322: Composer\Autoload\includeFile(string 'C:\\Server\\data\\htdocs\\phpmyadmin\\vendor\\composer/../twig/twig/src/Node/Node.php')
Composer\Autoload\ClassLoader->loadClass(string 'Twig\\Node\\Node')
TwigFilter.php#150: class_exists(string 'Twig\\Node\\Node')
ClassLoader.php#444: include(.\vendor\twig\twig\src\TwigFilter.php)
ClassLoader.php#322: Composer\Autoload\includeFile(string 'C:\\Server\\data\\htdocs\\phpmyadmin\\vendor\\composer/../twig/twig/src/TwigFilter.php')
CoreExtension.php#214: Composer\Autoload\ClassLoader->loadClass(string 'Twig\\TwigFilter')
ExtensionSet.php#433: Twig\Extension\CoreExtension->getFilters()
ExtensionSet.php#423: Twig\ExtensionSet->initExtension()
ExtensionSet.php#397: Twig\ExtensionSet->initExtensions()
Environment.php#966: Twig\ExtensionSet->getUnaryOperators()
Lexer.php#459: Twig\Environment->getUnaryOperators()
Lexer.php#110: Twig\Lexer->getOperatorRegex()
Environment.php#539: Twig\Lexer->__construct()
Environment.php#595: Twig\Environment->tokenize()
Environment.php#408: Twig\Environment->compileSource()
Environment.php#381: Twig\Environment->loadClass(
string '__TwigTemplate_e5eede12e45c1aad02a2d26a1f8fc775ccf9bc81126150d87303842d4ed7e41f',
string 'home/index.twig',
NULL,
)
Environment.php#359: Twig\Environment->loadTemplate(string 'home/index.twig')
Template.php#99: Twig\Environment->load(string 'home/index.twig')
Template.php#132: PhpMyAdmin\Template->load(string 'home/index')
AbstractController.php#36: PhpMyAdmin\Template->render(
string 'home/index',
array,
)
HomeController.php#246: PhpMyAdmin\Controllers\AbstractController->render(
string 'home/index',
array,
)
Routing.php#187: PhpMyAdmin\Controllers\HomeController->index(array)
index.php#18: PhpMyAdmin\Routing::callControllerForRoute(
string '/',
,
,
)
=================================================================================
Deprecation Notice in .\vendor\twig\twig\src\Node\Node.php#166
Return type of Twig\Node\Node::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Backtrace
ClassLoader.php#444: include(.\vendor\twig\twig\src\Node\Node.php)
ClassLoader.php#322: Composer\Autoload\includeFile(string 'C:\\Server\\data\\htdocs\\phpmyadmin\\vendor\\composer/../twig/twig/src/Node/Node.php')
Composer\Autoload\ClassLoader->loadClass(string 'Twig\\Node\\Node')
TwigFilter.php#150: class_exists(string 'Twig\\Node\\Node')
ClassLoader.php#444: include(.\vendor\twig\twig\src\TwigFilter.php)
ClassLoader.php#322: Composer\Autoload\includeFile(string 'C:\\Server\\data\\htdocs\\phpmyadmin\\vendor\\composer/../twig/twig/src/TwigFilter.php')
CoreExtension.php#214: Composer\Autoload\ClassLoader->loadClass(string 'Twig\\TwigFilter')
ExtensionSet.php#433: Twig\Extension\CoreExtension->getFilters()
ExtensionSet.php#423: Twig\ExtensionSet->initExtension()
ExtensionSet.php#397: Twig\ExtensionSet->initExtensions()
Environment.php#966: Twig\ExtensionSet->getUnaryOperators()
Lexer.php#459: Twig\Environment->getUnaryOperators()
Lexer.php#110: Twig\Lexer->getOperatorRegex()
Environment.php#539: Twig\Lexer->__construct()
Environment.php#595: Twig\Environment->tokenize()
Environment.php#408: Twig\Environment->compileSource()
Environment.php#381: Twig\Environment->loadClass(
string '__TwigTemplate_e5eede12e45c1aad02a2d26a1f8fc775ccf9bc81126150d87303842d4ed7e41f',
string 'home/index.twig',
NULL,
)
Environment.php#359: Twig\Environment->loadTemplate(string 'home/index.twig')
Template.php#99: Twig\Environment->load(string 'home/index.twig')
Template.php#132: PhpMyAdmin\Template->load(string 'home/index')
AbstractController.php#36: PhpMyAdmin\Template->render(
string 'home/index',
array,
)
HomeController.php#246: PhpMyAdmin\Controllers\AbstractController->render(
string 'home/index',
array,
)
Routing.php#187: PhpMyAdmin\Controllers\HomeController->index(array)
index.php#18: PhpMyAdmin\Routing::callControllerForRoute(
string '/',
,
,
)
=================================================================================
Deprecation Notice in .\libraries\classes\Util.php#1936
Function strftime() is deprecated
Backtrace
Header.php#582: PhpMyAdmin\Util::expandUserString(string '@HTTP_HOST@ / @VSERVER@ | @PHPMYADMIN@')
Header.php#459: PhpMyAdmin\Header->getPageTitle()
Response.php#331: PhpMyAdmin\Header->getDisplay()
Response.php#345: PhpMyAdmin\Response->getDisplay()
Response.php#507: PhpMyAdmin\Response->htmlResponse()
PhpMyAdmin\Response->response()
Жаль, что спойлер не работает на форуме. Был бы очень полезен тут.
Как с этим всем бороться? Не ожидал я, что чистая установка меня так огорчит. Искал в поисковике ответы на подобные вопросы, но глобально на англоязычных форумах никто не пишет. Мешает ли это корректно работать системе? Я новичёк, спасибо за содержательные ответы и любую помощь.
https://prnt.sc/25ycfl6