安装期间出现 phpmyadmin 错误 "Empty value for 'port' specified."

phpmyadmin error during installation "Empty value for 'port' specified."

我一直在尝试使用 ubuntu 14.04 / mysql 5.7.12 在我的 digitalocean droplet 上安装 phpmyadmin。我有一个 LAMP 堆栈,使用 apache 作为网络服务器。

在安装过程中,我不断收到此处显示的错误。 E

我是 phpmyadmin 的新手,想知道为什么我总是得到这个。以前使用旧版本 mysql 安装 phpmyadmin 是没有错误的。我正在尝试以非 root sudo 用户身份安装它。

任何方向或建议将不胜感激。

MySQL 此处的行为已更改,因此您几乎没有选择:

更新:您可以按照 中所述解决此错误。

我们的服务器配置 - Debian 8.x Mysql 5.7 PHP5+7 阿帕奇 2.4

这应该有效:

  • unistall phpmyadmin (--purge)
  • 重新安装 phpmyadmin(忽略错误)
  • 使用 mysql 控制台或任何方式检查 mysql 中是否存在 phpmyadmin 用户 and/or 数据库。
  • 如果它们不存在,请手动创建它们并授予 phpmyadmin 用户对 phpmyadmin 的所有权限 table。

  • 手动编辑 /etc/dbconfig-common/phpmyadmin.conf 以反映您当前的 mysql 服务器设置

dbc_dbserver = 'your_server'
dbc_dbport = 'your_mysql_port'
and any dbc_ fields that you feel need completion at this time
  • 手动编辑 /etc/phpmyadmin/config-db.php 以反映您当前的 mysql 服务器设置
$dbserver = same_as_above
$dbport = your_mysql_listening_port
etc. - any other fields that you feel needs completing.
  • 运行 dpkg-reconfigure phpmyadmin 来自具有 root 或管理权限的控制台

  • 选择为 phpmyadmin 重新安装数据库 - 是!!

  • 当配置 window 询问您要对现有配置文件做什么时,选择 - "Keep the local version currently installed"。

  • 在控制台输出中你不应该再有任何 mysql 空端口错误。

这对我有用。

我的机器配置 - Ubuntu 16.04 - MySql 5.7.13 - PHP 7.0.8 - 阿帕奇 2.4.18

编辑文件/etc/dbconfig-common/phpmyadmin.conf,更改

dbc_dbport=''dbc_dbport='0'

编辑文件并保存后,如果您仍在 dbconfig-common 向导中 select 重试;如果不是 运行 sudo dpkg-reconfigure phpmyadmin(当询问您是否要为 phpmyadmin 重新安装数据库时选择 )并正常继续而不更改任何值。如果您想更改某些值,请在您之前编辑的文件中进行。

当配置 window 询问您要对现有配置文件做什么时,选择 保持当前安装的本地版本

此时您可以检查差异,只有您在文件中创建的差异必须存在。

None 以上对我的情况有所帮助 - 因为不知何故,mysql 不是 运行 / 未安装(通过 sudo systemctl status mysql 检查)。

  1. 跳过安装Phpmyadmin的错误
  2. 通过 sudo apt-get install mysql-server mysql-client 重新安装 mysql。
  3. 使用 sudo dpkg-reconfigure phpmyadmin 重新配置并接受默认值 - 这次它们会有些不同(但您可能需要设置密码)。
  4. 说是用维护者的版本覆盖配置文件。

顺便说一下,phpmyadmin.conf 中的端口仍然是 dbc_dbport=''

我在互联网上搜索了几个小时,但 none 对我有用,除了 this

dbc_dbport=''改成dbc_dbport='0'后还是遇到了一些问题

如果您无法正确继续配置过程,请执行以下附加步骤:

首先,只需选择中止。

然后使用您在安装 MariaDB 时定义的密码以 root 身份登录 mysql。

mysql -u root -p

接下来,发出以下命令:

CREATE DATABASE phpmyadmin;

然后,发出以下命令: (不要忘记用您自己选择的密码替换 changethispassword。)

GRANT ALL ON phpmyadmin.* TO phpmyadmin@localhost IDENTIFIED BY 'changethispassword';

退出 mysql> 使用:

\q

接下来,编辑数据库配置:

sudo gedit /etc/phpmyadmin/config-db.php

使用您刚刚定义的密码编辑 dbpass 参数。

<?php
##
## database access settings in php format
## automatically generated from /etc/dbconfig-common/phpmyadmin.conf
## by /usr/sbin/dbconfig-generate-include
##
## by default this file is managed via ucf, so you shouldn't have to
## worry about manual changes being silently discarded.  *however*,
## you'll probably also want to edit the configuration file mentioned
## above too.
##
$dbuser='phpmyadmin';
$dbpass='changethispassword';
$basepath='';
$dbname='phpmyadmin';
$dbserver='localhost';
$dbport='';
$dbtype='mysql';

changethispassword 替换为您自己的并保存。 (它一定已经正确设置了。)

我在为 'mysql' root 和 'mysql' 用户添加密码后解决了这个问题。如果你将两者中的一个或两个留空,你可以这样做:

sudo -i

检查:

whoami

如果 'root',键入:

mysql,或 mysql -u root -p,以防您已经有了 root 的密码。

mysql 终端打开;然后我添加了密码:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH my_sql_native_password BY 'newpassword';

And/or 如果需要,'user' 也是如此。然后,一旦我在 MySQL 和 phpMyAdmin 中为我的用户设置了相同的密码,我就完成了。

在添加密码之前,我应用了@William Ardilla 和@user5781956 的建议。也许只有@William Ardilla 的就足够了。

另一个解决方法,我正在更新 Ubuntu 14.04 -> 16.04:

  • 在向导中 select "tcp/ip" 作为连接方式,localhost 端口 0
  • 从 /etc/phpmyadmin/config-db 读取 phpmyadmin 用户密码。php
  • 将db中的phpmyadmin用户密码改成
  • 将其粘贴到向导中(两次)

向导将 运行 通过 :)

随着


我的机器配置 - Ubuntu 16.04 - MySql 5.7.13 - PHP 7.0.8 - Apache 2.4.18

编辑文件/etc/dbconfig-common/phpmyadmin.conf,更改

dbc_dbport='' to dbc_dbport='0'

编辑文件并保存后,如果您仍在 dbconfig-common 向导中 select 重试;如果不是 运行 sudo dpkg-reconfigure phpmyadmin(当询问您是否要为 phpmyadmin 重新安装数据库时选择是)并正常继续而不更改任何值。如果您想更改某些值,请在您之前编辑的文件中进行。

当配置 window 询问您要对现有配置文件执行的操作时,请选择保留当前安装的本地版本。

此时您可以检查差异,只有您在文件中创建的差异必须存在。


解决方案我还必须更改这一行:

"&& ($analyzed_sql_results['select_expr'][0] == '*')))" to "&& ($analyzed_sql_results['select_expr'][0] == '*'))"

之后一切正常!