ubuntu phpmyadmin 安装错误

Posted

技术标签:

【中文标题】ubuntu phpmyadmin 安装错误【英文标题】:ubuntu phpmyadmin installation error 【发布时间】:2016-10-17 13:12:14 【问题描述】:

已经在 linux 上的 apache 2 web 服务器上安装了 phpmyadmin,当我尝试访问它时,我得到了如下所列的有趣代码。我该如何解决这个问题。

addJSON('list', PMA_RecentFavoriteTable::getInstance('recent')->gethtmlList());出口; if ($GLOBALS['PMA_Config']->isGitRevision()) if (isset($_REQUEST['git_revision']) && $GLOBALS['is_ajax_request'] == true) PMA_printGitRevision();出口; 回声 ' '; // 处理调用脚本可能已经发送的一些变量 $GLOBALS['db'] = ''; $GLOBALS['table'] = ''; $show_query = '1'; // 有什么要显示的消息吗? if (!empty($message)) echo PMA_Util::getMessage($message);未设置($消息); $common_url_query = PMA_URL_getCommon(); $mysql_cur_user_and_host = ''; // 当 $server > 0 时,选择了一个服务器,所以我们可以显示 // 所有 MySQL 相关信息 if ($server > 0) include 'libraries/server_common.inc.php';包括“库/StorageEngine.class.php”; // 使用服务器的详细名称而不是主机名 // 如果设置了值 $server_info = ''; if (!empty($cfg['Server']['verbose'])) $server_info .= htmlspecialchars($cfg['Server']['verbose']); if ($GLOBALS['cfg']['ShowServerInfo']) $server_info .= ' ('; if ($GLOBALS['cfg']['ShowServerInfo'] || empty($cfg['Server' ]['verbose'])) $server_info .= $GLOBALS['dbi']->getHostInfo(); if (!empty($cfg['Server']['verbose']) && $GLOBALS[' cfg']['ShowServerInfo']) $server_info .= ')'; $mysql_cur_user_and_host = $GLOBALS['dbi']->fetchValue('SELECT USER();'); // 我们应该在这里添加端口信息吗? $short_server_info = (!empty($GLOBALS['cfg']['Server']['verbose']) ? $GLOBALS['cfg']['Server']['verbose'] : $GLOBALS['cfg' ]['服务器']['主机']); 回声 ' ' . "\n"; // 收藏表同步的锚点。 echo PMA_RecentFavoriteTable::getInstance('favorite')->getHtmlSyncFavoriteTables();回声' '; if ($server > 0 || count($cfg['Servers']) > 1 ) if ($cfg['DBG']['demo']) echo ' ';回声' ' . __('phpMyAdmin 演示服务器') 。 ' ';回声'

'; printf( __( '您正在使用演示服务器。您可以在这里做任何事情,但是 ' . '请不要更改 root、debian-sys-maint 和 pma 用户。' . '更多信息可在 %s 获得。' ) , 'demo.phpmyadmin.net' );回声' ';回声' '; 回声 ' ';回声' ' . __('通用设置') 。 ' ';回声'

'; /** * Displays the MySQL servers choice form */ if ($cfg['ServerDefault'] == 0 || (! $cfg['NavigationDisplayServers'] && (count($cfg['Servers']) > 1 || ($server == 0 && count($cfg['Servers']) == 1))) )  echo '
'; include_once 'libraries/select_server.lib.php'; echo PMA_Util::getImage('s_host.png') . " " . PMA_selectServer(true, true); echo '
';  /** * Displays the mysql server related links */ if ($server > 0 && ! PMA_DRIZZLE)  include_once 'libraries/check_user_privileges.lib.php'; // Logout for advanced authentication if ($cfg['Server']['auth_type'] != 'config')  if ($cfg['ShowChgPassword'])  $conditional_class = 'ajax'; PMA_printListItem( PMA_Util::getImage('s_passwd.png') . " " . __('Change password'), 'li_change_password', 'user_password.php' . $common_url_query, null, null, 'change_password_anchor', "no_bullets", $conditional_class );   // end if echo '
'; echo '
' . "\n" . PMA_URL_getHiddenInputs(null, null, 4, 'collation_connection') . ' ' . "\n" . ' ' . PMA_Util::getImage('s_asci.png') . " " . __('Server connection collation') . "\n" // put the doc link in the form so that it appears on the same line . PMA_Util::showMySQLDocu('Charset-connection') . ': ' . "\n" . ' ' . "\n" . PMA_generateCharsetDropdownBox( PMA_CSDROPDOWN_COLLATION, 'collation_connection', 'select_collation_connection', $collation_connection, true, true ) . '
' . "\n" . '
' . "\n";  // end of if ($server > 0 && !PMA_DRIZZLE) echo '

';回声' '; 回声 ' ';回声' ' . __('外观设置') 。 ' ';回声'

'; // Displays language selection combo if (empty($cfg['Lang']) && count($GLOBALS['available_languages']) > 1)  echo '
'; include_once 'libraries/display_select_lang.lib.php'; echo PMA_Util::getImage('s_lang.png') . " " . PMA_getLanguageSelectorHtml(); echo '
';  // ThemeManager if available if ($GLOBALS['cfg']['ThemeManager'])  echo '
'; echo PMA_Util::getImage('s_theme.png') . " " . $_SESSION['PMA_Theme_Manager']->getHtmlSelectBox(); echo '
';  echo '
'; echo PMA_Config::getFontsizeForm(); echo '
'; echo '

'; // 用户偏好 if ($server > 0) echo '

'; PMA_printListItem( PMA_Util::getImage('b_tblops.png') . " " . __('More settings'), 'li_user_preferences', 'prefs_manage.php' . $common_url_query, null, null, null, "no_bullets" ); echo '

'; 回声 ' ';回声' ';回声' '; if ($server > 0 && $GLOBALS['cfg']['ShowServerInfo']) echo ' ';回声' ' . __('数据库服务器') 。 ' ';回声'

' . "\n"; PMA_printListItem( __('Server:') . ' ' . $server_info, 'li_server_info' ); PMA_printListItem( __('Server type:') . ' ' . PMA_Util::getServerType(), 'li_server_type' ); PMA_printListItem( __('Server version:') . ' ' . PMA_MYSQL_STR_VERSION . ' - ' . PMA_MYSQL_VERSION_COMMENT, 'li_server_version' ); PMA_printListItem( __('Protocol version:') . ' ' . $GLOBALS['dbi']->getProtoInfo(), 'li_mysql_proto' ); PMA_printListItem( __('User:') . ' ' . htmlspecialchars($mysql_cur_user_and_host), 'li_user_info' ); echo '
'; echo ' ' . __('Server charset:') . ' ' . ' '; if (! PMA_DRIZZLE)  echo ' ' . $mysql_charsets_descriptions[$mysql_charset_map['utf-8']];  echo ' (' . $mysql_charset_map['utf-8'] . ')' . ' ' . '
' . ' 

' 。 ' '; if ($GLOBALS['cfg']['ShowServerInfo'] || $GLOBALS['cfg']['ShowPhpInfo']) echo ' ';回声' ' . __('网络服务器') 。 ' ';回声'

'; if ($GLOBALS['cfg']['ShowServerInfo'])  PMA_printListItem($_SERVER['SERVER_SOFTWARE'], 'li_web_server_software'); if ($server > 0)  $client_version_str = $GLOBALS['dbi']->getClientInfo(); if (preg_match('#\d+\.\d+\.\d+#', $client_version_str))  $client_version_str = 'libmysql - ' . $client_version_str;  PMA_printListItem( __('Database client version:') . ' ' . $client_version_str, 'li_mysql_client_version' ); $php_ext_string = __('PHP extension:') . ' '; if (PMA_DatabaseInterface::checkDbExtension('mysqli'))  $extension = 'mysqli';  else  $extension = 'mysql';  $php_ext_string .= $extension . ' ' . PMA_Util::showPHPDocu('book.' . $extension . '.php'); PMA_printListItem( $php_ext_string, 'li_used_php_extension' ); $php_version_string = __('PHP version:') . ' ' . phpversion(); PMA_printListItem( $php_version_string, 'li_used_php_version' );   if ($cfg['ShowPhpInfo'])  PMA_printListItem( __('Show PHP information'), 'li_phpinfo', 'phpinfo.php' . $common_url_query, null, '_blank' );  echo ' 

';回声' '; 回声 ' ';回声' phpMyAdmin ';回声'

'; $class = null; // We rely on CSP to allow access to http://www.phpmyadmin.net, but IE lacks // support here and does not allow request to http once using https. if ($GLOBALS['cfg']['VersionCheck'] && (! $GLOBALS['PMA_Config']->get('is_https') || PMA_USR_BROWSER_AGENT != 'IE') )  $class = 'jsversioncheck';  PMA_printListItem( __('Version information:') . ' ' . PMA_VERSION . '', 'li_pma_version', null, null, null, null, $class ); PMA_printListItem( __('Documentation'), 'li_pma_docs', PMA_Util::getDocuLink('index'), null, '_blank' ); PMA_printListItem( __('Wiki'), 'li_pma_wiki', PMA_linkURL('http://wiki.phpmyadmin.net/'), null, '_blank' ); // does not work if no target specified, don't know why PMA_printListItem( __('Official Homepage'), 'li_pma_homepage', PMA_linkURL('http://www.phpMyAdmin.net/'), null, '_blank' ); PMA_printListItem( __('Contribute'), 'li_pma_contribute', PMA_linkURL('https://www.phpmyadmin.net/contribute/'), null, '_blank' ); PMA_printListItem( __('Get support'), 'li_pma_support', PMA_linkURL('https://www.phpmyadmin.net/support/'), null, '_blank' ); PMA_printListItem( __('List of changes'), 'li_pma_changes', 'changelog.php' . PMA_URL_getCommon(), null, '_blank' ); echo ' 

';回声' ';回声' ';回声' '; /** * 如果使用默认 MySQL 特权帐户,则警告 */ if ($server != 0 && $cfg['Server']['user'] == 'root' && $cfg['Server']['password '] == '' ) trigger_error( __( '您以 \'root\' 的身份连接,没有密码,' . ' 对应于默认的 MySQL 特权帐户。' . ' 您的 MySQL 服务器正在使用此默认值运行,对'.'入侵开放,你真的应该通过'.'为用户设置密码来修复这个安全漏洞\'root\'.'), E_USER_WARNING); /** * 当我们尝试自己处理字符集时,mbstring 重载只是 * 破坏它,参见 bug 1063821。 */ if (@extension_loaded('mbstring') && @ini_get('mbstring.func_overload') > 1) trigger_error( __( '您在 PHP ' . '配置中启用了 mbstring.func_overload 。此选项与 phpMyAdmin 不兼容 ' . '可能导致某些数据损坏!' ), E_USER_WARNING ); /** * mbstring 用于在解析器中处理多字节,所以最好告诉用户没有它可能会损坏,请参阅错误 #1063149。 */ if (!@extension_loaded('mbstring')) trigger_error( __( '找不到 mbstring PHP 扩展,你似乎在使用' . ' 多字节字符集。没有 mbstring 扩展 phpMyAdmin' . ' 是无法正确拆分字符串,可能会导致'.'意想不到的结果。'), E_USER_WARNING); if ($cfg['LoginCookieValidityDisableWarning'] == false) /** * 检查 session.gc_maxlifetime 是否限制会话有效性。 */ $gc_time = (int)@ini_get('session.gc_maxlifetime'); if ($gc_time http://php.net/manual/en/session.' . 'configuration.php#ini.session.gc-maxlifetime@_blank ]session.' . 'gc_maxlifetime[/a] 低于 phpMyAdmin 中配置的 cookie 有效性 ' . ',因此,您的登录可能会比 phpMyAdmin 中配置的更早过期 ' . '), E_USER_WARNING ); /** * 检查 LoginCookieValidity 是否受 LoginCookieStore 限制。 */ if ($GLOBALS['cfg']['LoginCookieStore'] != 0 && $GLOBALS['cfg']['LoginCookieStore'] / if (file_exists('config')) trigger_error( __( '安装脚本使用的目录[code]config[/code],' . '仍然存在于你的phpMyAdmin目录中。它是强' . '建议在配置 phpMyAdmin 后将其删除。' . '否则,您的服务器的安全性可能会受到 ' . '未经授权的人下载您的配置。' ), E_USER_WARNING ); if ($server > 0) $cfgRelation = PMA_getRelationsParam(); if (!$cfgRelation['allworks'] && $cfg['PmaNoRelation_DisableWarning'] == false ) $msg_text = __( 'phpMyAdmin配置存储不完整' . '配置,部分扩展功能已停用。' . '%s找出原因%s。'); if ($cfg['ZeroConf'] == true) $msg_text .= ' ' . __( '或者转到任何数据库的 \'Operations\' 选项卡' . '在那里进行设置。' ); $msg = PMA_Message::notice($msg_text); $msg->addParam('', false); $msg->addParam('', false); / 如果用户配置了某些内容,则显示错误,请注意其他地方 */ if (!empty($cfg['Servers'][$server]['pmadb'])) $msg->isError(true); $msg->显示(); // end if /** * 关于不同 MySQL 库和服务器版本的警告 *(第三位数字的差异不计算在内)。 * 如果有一天我们可以检查 mysqlnd 的常量,* 我们可以使用它来代替 strpos()。 * 如果未设置默认服务器,则 $GLOBALS['dbi'] 尚未定义。 * Drizzle 可以使用 MySQL 协议,所以不要警告 * Drizzle 服务器的版本不匹配。 * 如果检测到 MariaDB,我们也不会发出警告,因为它有自己的版本 * 编号。 */ if (isset($GLOBALS['dbi']) && !PMA_DRIZZLE && $cfg['ServerLibraryDifference_DisableWarning'] == false ) /** @var PMA_String $pmaString */ $pmaString = $GLOBALS['PMA_String'] ; $_client_info = $GLOBALS['dbi']->getClientInfo(); if ($server > 0 && /overload/mb_strpos($_client_info, 'mysqlnd') === false && /overload/mb_strpos(PMA_MYSQL_STR_VERSION, 'MariaDB') = == false && substr(PMA_MYSQL_CLIENT_API, 0, 3) != substr( PMA_MYSQL_INT_VERSION, 0, 3 ) ) trigger_error( PMA_sanitize( sprintf( __( '您的 PHP MySQL 库版本 %s 与您的 ' . 'MySQL 服务器版本 % s. 这可能会导致不可预知的 ' . 'behavior.' ), $_client_info, substr( PMA_MYSQL_STR_VERSION, 0, strpos(PMA_MYSQL_STR_VERSION . '-', '-') ) ) ), E_USER_NOTICE ); 未设置($_client_info); /** * 仅当 Suhosin 的模拟模式未启用时才会发出警告 */ if ($cfg['SuhosinDisableWarning'] == false && @ini_get('suhosin.request.max_value_length') && @ini_get('suhosin.simulation ') == '0' ) trigger_error( sprintf( __( '使用 Suhosin 运行的服务器。请参阅 %sdocumentation%s ' . '可能的问题。' ), '[doc@faq1-38]', '[ /doc]' ), E_USER_WARNING ); /** * 关于不完整翻译的警告。 * * 数据文件由 ./scripts/remove-incomplete-mo / if (file_exists('libraries/language_stats.inc.php')) include 'libraries/language_stats.inc.php' 在创建发布时创建; / * 故意不翻译此消息,因为我们 * 在这里处理不完整的翻译,并专注于说英语 * 的用户。 */ if (isset($GLOBALS['language_stats'][$lang]) && $GLOBALS['language_stats'][$lang] https://www.phpmyadmin.net/translate/' . '@_blank]contributing[/a].', E_USER_NOTICE 帮助使它变得更好。 /** * 打印主页面的列表项 * * @param string $name 显示的文本 * @param string $listId id,用于 css 样式 * @param string $url 将项目作为链接,$url 作为目标 * @ param string $mysql_help_page 显示 MySQL 手册的链接 * @param string $target $url 的特殊目标 * @param string $a_id 用于锚点的 ID,* 用于 jQuery 挂钩函数 * @param string $class 用于 li element * @param string $a_class 锚元素的类 * * @return void */ function PMA_printListItem($name, $listId = null, $url = null, $mysql_help_page = null, $target = null, $a_id = null, $class= null, $a_class= null) echo PMA\Template::get('list/item') ->render( array( 'content' => $name, 'id' => $listId, 'class' = > $class, 'url' => 数组('href' => $url, 'target' => $target, 'id' => $a_id, 'class' => $a_class, ), 'mysql_help_page' => $mysql_help_page, ) );

【问题讨论】:

糟糕的帖子,丑陋的帖子,:/ 【参考方案1】:

试试这个,花了一整天才弄明白

    sudo apt install libapache2-mod-php

root@lap:/home/abc# php -v PHP 7.0.33-0ubuntu0.16.04.7 (cli) (NTS) 版权所有 (c) 1997-2017 PHP 集团 Zend Engine v3.0.0,版权所有 (c) 1998-2017 Zend Technologies 使用 Zend OPcache v7.0.33-0ubuntu0.16.04.7,版权所有 (c) 1999-2017,由 Zend Technologies 提供

root@lap:/home/abc# apache2 -v 服务器版本:Apache/2.4.18 (Ubuntu) 服务器建成时间:2019-10-08T13:31:25

【讨论】:

【参考方案2】:

我在 linux mint 18, PHP7 上遇到了同样的问题。

通过安装包解决:

sudo apt install php libapache2-mod-php

【讨论】:

【参考方案3】:

你有 php 服务器吗? 所有这些代码都必须由服务器解释,而 apache 不能这样做。

如果你想检查你的 php 版本:

php -v

或安装它:

sudo apt-get install php5

通常你在安装mysql(或其他数据库)的过程中已经安装了php。

【讨论】:

以上是关于ubuntu phpmyadmin 安装错误的主要内容,如果未能解决你的问题,请参考以下文章

在 ubuntu 12.04 上安装 phpmyadmin 时出错

如何在 ubuntu 服务器上安装 phpmyadmin

安装phpmyadmin后,出现错误问题

ubuntu 12.04 上 phpmyadmin 的 403 错误

无法在 ubuntu 中启动 phpmyadmin

Ubuntu 18.04上安装 phpMyAdmin