AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1268295
Accepted
surendhar153
surendhar153
Asked: 2020-08-19 13:42:03 +0800 CST2020-08-19 13:42:03 +0800 CST 2020-08-19 13:42:03 +0800 CST

phpMyAdmin 无法在 ubuntu 20.04 中使用 php5.6

  • 772

问题 - phpMyAdmin 的 HTTP 错误 500。
阿帕奇错误日志

[Wed Aug 19 02:52:11.063688 2020] [:error] [pid 94653] [client ::1:56202] PHP Warning:  Unsupported declare 'strict_types' in /usr/share/php/PhpMyAdmin/MoTranslator/Loader.php on line 23
[Wed Aug 19 02:52:11.063864 2020] [:error] [pid 94653] [client ::1:56202] PHP Parse error:  syntax error, unexpected '?' in /usr/share/php/PhpMyAdmin/MoTranslator/Loader.php on line 116

切换到 php7.4 后,phpMyAdmin 完全可以正常工作。这个问题只发生在 php5.6

设置 - Ubuntu 20.04、php5.6、Apache/2.4.41、phpMyAdmin-4.9.5deb2、mysql-8.0.21 php -m(输出)

[PHP Modules]
calendar
Core
ctype
curl
date
dom
ereg
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
imagick
json
libxml
mbstring
mcrypt
mhash
mysql
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
readline
Reflection
session
shmop
SimpleXML
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zlib

[Zend Modules]
Zend OPcache

我已经从发行版中删除了 phpmyadmin 并通过 zip 安装。我收到以下错误。

mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]
mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client

我发现问题在于身份验证方法并将“caching_sha2_password”更改为“mysql_native_password”但我仍然收到上述错误。

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| user             | authentication_string                                                  | plugin                | host      |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| debian-sys-maint | $A$005$@0IC@&1C
                                    O:Xf94qofd9PGZM4cSAB0xP0ZsNz7GUaX8UuPiAYIj5M0 | caching_sha2_password | localhost |
| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| phpmyadmin       | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19                              | mysql_native_password | localhost |
| root             | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19                              | mysql_native_password | localhost |
| surendhar        | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19                              | mysql_native_password | localhost |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
7 rows in set (0.00 sec)
php phpmyadmin 20.04
  • 2 2 个回答
  • 10724 Views

2 个回答

  • Voted
  1. Best Answer
    surendhar153
    2020-08-20T00:41:36+08:002020-08-20T00:41:36+08:00

    问题 - ubuntu 20.04 使用 mysql v8 和使用缓存_sha2_password。一切正常php7.4。但是当你使用 php5.6 时你会得到两个错误

    1. 服务器向客户端发送未知字符集
    2. 服务器请求客户端未知的身份验证方法

    要解决此问题,我们需要将以下代码添加到 /etc/mysql/my.cnf

    [client]
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8
    
    [mysqld]
    collation-server = utf8_unicode_ci
    character-set-server = utf8
    default-authentication-plugin=mysql_native_password
    

    您还需要通过mysql中的以下代码更新用户认证方法

    alter user 'username'@'localhost' identified with mysql_native_password by 'password';
    
    • 2
  2. Zonmi
    2020-08-19T14:28:31+08:002020-08-19T14:28:31+08:00

    如果您谈到将它与 php5.6 一起使用,那么在 20.04 中,phpmyadmin 包会有些混乱。它提供了与 php5.5+ 兼容的 PMA4.9.5,但它依赖于 php-phpmyadmin-motranslator >= 5.0,它与 php7.1+ 兼容。您在日志中看到的致命错误是由于 null 合并运算符 ?? 在代码中使用的是 php7 功能。

    PMA 不是您严重依赖发行版包装的东西。只需从 github 下载 4.9.5 zip,将其解压缩到您的 webroot 下的某个位置,它应该可以正常工作。

    • 1

相关问题

  • VirtualHost 的自定义 php.ini

  • http://localhost/ 不工作

  • 如何安装 php-gtk?

  • 我如何创建自己的 php 5.3.3 包/ppa?

  • 如何回滚到 PHP 5.2?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve