phpmyadmin 出现奇怪的错误,安装成功但仍然无法正常工作

Posted

技术标签:

【中文标题】phpmyadmin 出现奇怪的错误,安装成功但仍然无法正常工作【英文标题】:Weird error in phpmyadmin, It is installed successfully but still not working 【发布时间】:2015-05-29 17:48:11 【问题描述】:

我整天都在努力安装 phpmyadmin。我已经尝试重新安装很多次,但它无法正常工作。在打开 localhost/phpmyadmin 时,我收到一些文本,而不是实际的 phpmyadmin UI。

文字是-

addJSON( 'options', PMA_RecentTable::getInstance()->gethtmlSelectOption() ); exit;  if ($GLOBALS['PMA_Config']->isGitRevision())  if (isset($_REQUEST['git_revision']) && $GLOBALS['is_ajax_request'] == true)  PMA_printGitRevision(); exit;  echo '
';  // Handles some variables that may have been sent by the calling script $GLOBALS['db'] = ''; $GLOBALS['table'] = ''; $show_query = '1'; // Any message to display? if (! empty($message))  echo PMA_Util::getMessage($message); unset($message);  $common_url_query = PMA_generate_common_url('', ''); // when $server > 0, a server has been chosen so we can display // all mysql-related information if ($server > 0)  include 'libraries/server_common.inc.php'; include 'libraries/StorageEngine.class.php'; // Use the verbose name of the server instead of the hostname // if a value is set $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 .= PMA_DBI_get_host_info();  if (! empty($cfg['Server']['verbose']) && $GLOBALS['cfg']['ShowServerInfo'])  $server_info .= ')';  $mysql_cur_user_and_host = PMA_DBI_fetch_value('SELECT USER();'); // should we add the port info here? $short_server_info = (!empty($GLOBALS['cfg']['Server']['verbose']) ? $GLOBALS['cfg']['Server']['verbose'] : $GLOBALS['cfg']['Server']['host']);  echo '
' . "\n"; echo '
'; if ($server > 0 || count($cfg['Servers']) > 1 )  echo '
'; echo '
' . __('General Settings') . '
'; echo '

    '; /** * 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_generate_common_hidden_inputs(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( 'MySQL_Database_Administration', 'Charset-connection' ) . ': ' . "\n" . ' ' . "\n" . PMA_generateCharsetDropdownBox( PMA_CSDROPDOWN_COLLATION, 'collation_connection', 'select_collation_connection', $collation_connection, true, 4, true ) . '
    ' . "\n" . '
    ' . "\n";  // end of if ($server > 0 && !PMA_DRIZZLE) echo '

'; echo '
';  echo '
'; echo '
' . __('Appearance Settings') . '
'; 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 '

'; // User preferences 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 '

';  echo '
'; echo '
'; echo '
'; if ($server > 0 && $GLOBALS['cfg']['ShowServerInfo'])  echo '
'; echo '
' . __('Database server') . '
'; 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') . ': ' . PMA_DBI_get_proto_info(), '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']] . "\n";  echo ' (' . $mysql_charset_map['utf-8'] . ')' . "\n" . ' ' . "\n" . '
    ' . "\n"; echo ' 

'; echo '
';  if ($GLOBALS['cfg']['ShowServerInfo'] || $GLOBALS['cfg']['ShowPhpInfo'])  echo '
'; echo '
' . __('Web server') . '
'; echo '

    '; if ($GLOBALS['cfg']['ShowServerInfo'])  PMA_printListItem($_SERVER['SERVER_SOFTWARE'], 'li_web_server_software'); if ($server > 0)  $client_version_str = PMA_DBI_get_client_info(); if (preg_match('#\d+\.\d+\.\d+#', $client_version_str) && in_array($GLOBALS['cfg']['Server']['extension'], array('mysql', 'mysqli')) )  $client_version_str = 'libmysql - ' . $client_version_str;  PMA_printListItem( __('Database client version') . ': ' . $client_version_str, 'li_mysql_client_version' ); $php_ext_string = __('PHP extension') . ': ' . $GLOBALS['cfg']['Server']['extension'] . ' ' . PMA_Util::showPHPDocu( 'book.' . $GLOBALS['cfg']['Server']['extension'] . '.php' ); PMA_printListItem( $php_ext_string, 'li_used_php_extension' );   if ($cfg['ShowPhpInfo'])  PMA_printListItem( __('Show PHP information'), 'li_phpinfo', 'phpinfo.php?' . $common_url_query, null, '_blank' );  echo ' 

'; echo '
';  echo '
'; echo '
phpMyAdmin
'; echo '

    '; $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('http://www.phpmyadmin.net/home_page/improve.php'), null, '_blank' ); PMA_printListItem( __('Get support'), 'li_pma_support', PMA_linkURL('http://www.phpmyadmin.net/home_page/support.php'), null, '_blank' ); PMA_printListItem( __('List of changes'), 'li_pma_changes', PMA_linkURL('changelog.php'), null, '_blank' ); ?> 

1)  trigger_error( __('You have enabled mbstring.func_overload in your PHP configuration. This option is incompatible with phpMyAdmin and might cause some data to be corrupted!'), E_USER_WARNING );  /** * Nijel: mbstring is used for handling multibyte inside parser, so it is good * to tell user something might be broken without it, see bug #1063149. */ if (! @extension_loaded('mbstring'))  trigger_error( __('The mbstring PHP extension was not found and you seem to be using a multibyte charset. Without the mbstring extension phpMyAdmin is unable to split strings correctly and it may result in unexpected results.'), E_USER_WARNING );  /** * Check whether session.gc_maxlifetime limits session validity. */ $gc_time = (int)@ini_get('session.gc_maxlifetime'); if ($gc_time < $GLOBALS['cfg']['LoginCookieValidity'] )  trigger_error( __('Your PHP parameter [a@http://php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime@_blank]session.gc_maxlifetime[/a] is lower than cookie validity configured in phpMyAdmin, because of this, your login will expire sooner than configured in phpMyAdmin.'), E_USER_WARNING );  /** * Check whether LoginCookieValidity is limited by LoginCookieStore. */ if ($GLOBALS['cfg']['LoginCookieStore'] != 0 && $GLOBALS['cfg']['LoginCookieStore'] < $GLOBALS['cfg']['LoginCookieValidity'] )  trigger_error( __('Login cookie store is lower than cookie validity configured in phpMyAdmin, because of this, your login will expire sooner than configured in phpMyAdmin.'), E_USER_WARNING );  /** * Check if user does not have defined blowfish secret and it is being used. */ if (! empty($_SESSION['auto_blowfish_secret']) && empty($GLOBALS['cfg']['blowfish_secret']) )  trigger_error( __('The configuration file now needs a secret passphrase (blowfish_secret).'), E_USER_WARNING );  /** * Check for existence of config directory which should not exist in * production environment. */ if (file_exists('config'))  trigger_error( __('Directory [code]config[/code], which is used by the setup script, still exists in your phpMyAdmin directory. You should remove it once phpMyAdmin has been configured.'), E_USER_WARNING );  if ($server > 0)  $cfgRelation = PMA_getRelationsParam(); if (! $cfgRelation['allworks'] && $cfg['PmaNoRelation_DisableWarning'] == false )  $msg = PMA_Message::notice(__('The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. To find out why click %shere%s.')); $msg->addParam( '', false ); $msg->addParam('', false); /* Show error if user has configured something, notice elsewhere */ if (!empty($cfg['Servers'][$server]['pmadb']))  $msg->isError(true);  $msg->display();  // end if  /** * Warning about different MySQL library and server version * (a difference on the third digit does not count). * If someday there is a constant that we can check about mysqlnd, * we can use it instead of strpos(). * If no default server is set, PMA_DBI_get_client_info() is not defined yet. * Drizzle can speak MySQL protocol, so don't warn about version mismatch for * Drizzle servers. */ if (function_exists('PMA_DBI_get_client_info') && !PMA_DRIZZLE && $cfg['ServerLibraryDifference_DisableWarning'] == false )  $_client_info = PMA_DBI_get_client_info(); if ($server > 0 && strpos($_client_info, 'mysqlnd') === false && substr(PMA_MYSQL_CLIENT_API, 0, 3) != substr(PMA_MYSQL_INT_VERSION, 0, 3) )  trigger_error( PMA_sanitize( sprintf( __('Your PHP MySQL library version %s differs from your MySQL server version %s. This may cause unpredictable behavior.'), $_client_info, substr( PMA_MYSQL_STR_VERSION, 0, strpos(PMA_MYSQL_STR_VERSION . '-', '-') ) ) ), E_USER_NOTICE );  unset($_client_info);  /** * Warning about Suhosin */ if ($cfg['SuhosinDisableWarning'] == false && @ini_get('suhosin.request.max_value_length') // warn about Suhosin only if its simulation mode is not enabled && @ini_get('suhosin.simulation') == '0' )  trigger_error( sprintf( __('Server running with Suhosin. Please refer to %sdocumentation%s for possible issues.'), '[doc@faq1-38]', '[/doc]' ), E_USER_WARNING );  /** * Warning about mcrypt. */ if (! function_exists('mcrypt_encrypt') && ! $GLOBALS['cfg']['McryptDisableWarning'] )  PMA_warnMissingExtension('mcrypt');  /** * Warning about incomplete translations. * * The data file is created while creating release by ./scripts/remove-incomplete-mo */ if (file_exists('libraries/language_stats.inc.php'))  include 'libraries/language_stats.inc.php'; /* * This message is intentionally not translated, because we're * handling incomplete translations here and focus on english * speaking users. */ if (isset($GLOBALS['language_stats'][$lang]) && $GLOBALS['language_stats'][$lang] < $cfg['TranslationWarningThreshold'] )  trigger_error( 'You are using an incomplete translation, please help to make it better by [a@http://www.phpmyadmin.net/home_page/improve.php#translate@_blank]contributing[/a].', E_USER_NOTICE );   /** * prints list item for main page * * @param string $name displayed text * @param string $id id, used for css styles * @param string $url make item as link with $url as target * @param string $mysql_help_page display a link to MySQL's manual * @param string $target special target for $url * @param string $a_id id for the anchor, * used for jQuery to hook in functions * @param string $class class for the li element * @param string $a_class class for the anchor element * * @return void */ function PMA_printListItem($name, $id = null, $url = null, $mysql_help_page = null, $target = null, $a_id = null, $class = null, $a_class = null )  echo '
'; if (null !== $url)  echo '';  echo $name; if (null !== $url)  echo '' . "\n";  if (null !== $mysql_help_page)  echo PMA_Util::showMySQLDocu('', $mysql_help_page);  echo '
';  ?> .

我已经使用命令安装了 phpmyadmin-

sudo apt-get install phpmyadmin

它已成功安装在 apache2 服务器上。 apache2 服务器也运行良好,当我在浏览器中打开 localhost 时它会打开 - Apache2 Ubuntu 默认页面 但在打开 localhost/phpmyadmin 时会打开一些文本。

【问题讨论】:

【参考方案1】:

我的问题终于解决了!我不完全知道哪些命令对我有用,但这些是我为解决问题而运行的最后一个命令。

sudo apt-get install -f

sudo apt-get remove --purge apache* && sudo apt-get remove --purge libapache* && sudo apt-get remove --purge php*

sudo apt-get remove --purge php5-common php5-cli

sudo apt-get install apache2 php5 libapache2-mod-php5 mysql-server php5-mysql

sudo 服务 apache2 重启 sudo apt-get install phpmyadmin sudo service apache2 restart

sudo apt-get remove --purge php5-common php5-cli

sudo apt-get install apache2 php5 libapache2-mod-php5 mysql-server php5-mysql

sudo service apache2 重启

并在http://localhost/phpmyadmin/浏览它

如果你的问题还没有解决那么先安装node js by-

sudo apt-get 更新

sudo apt-get install nodejs

然后再次尝试所有命令,因为在运行上述命令之前我还安装了 node js,我认为 node js 与这个 javascript 问题有关或参考问题-https://askubuntu.com/questions/308523/i-have-broken-ubuntu 和https://askubuntu.com/questions/307761/php-server-setup-not-working

【讨论】:

【参考方案2】:

试试这个:

localhost/phpmyadmin/index.php

如果可行,看来是apache通过别名加载javascript的问题(/phpmyadmin是/usr/share/phpmyadmin的别名)。

我使用以前的 URL 有一段时间,然后我只是在将基本的 apache 根目录(即“/var/www/html/”)更改为其他地方之后,偶然发现了解决方案。那么

localhost/phpmyadmin

开始工作了。

【讨论】:

【参考方案3】:

是否安装了 PHP?如果安装了,安装PHP后Apache是​​否重启过?

是否已启用?须藤a2enmod php5

https://help.ubuntu.com/community/ApacheMySQLPHP

【讨论】:

是的 PHP 已安装,安装后我也重新启动了 apache2。 我已关注您的页面并启用了 sudo a2enmod php5 但仍然无法正常工作。

以上是关于phpmyadmin 出现奇怪的错误,安装成功但仍然无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

安装phpmyadmin后,出现错误问题

初学者如何使用phpmyadmin创建数据库

将数据库导入 PhpMyAdmin 时出现奇怪的错误

wampserver下打开phpMyAdmin出现403错误的问题解决方法

如何删除错误 phpMyAdmin #1932

Phpmyadmin 停止在 ubuntu 中工作