安装magento,出现数据库连接错误.

2021-12-19 00:00:00 database magento mysql

我正在尝试将 magento 安装到我的网络主机上,在安装过程中我收到数据库连接错误"我已经正确输入了所有值(已联系我的网络主机以确保我在这一点上被难住了)他们说要参考magento 论坛以获得额外支持.我找不到解决办法.任何想法/帮助将不胜感激.

解决方案

试试这个脚本,它会测试您的连接并报告实际的 MySQL 错误.确定您获得的凭据是否有效,或者流程的哪个部分失败可能会很有用.由于您在远程虚拟主机上使用它,我建议您对数据库用户名和密码进行硬编码,以避免在开放的 Internet 上以明文方式传递它们.

(注意:不是我自己的作品 - 脚本来自 webune.com)

<form name="form1" method="post" action="<?php $_SERVER['PHP_SELF']; ?>?step=2"><table border="0" cellspacing="5" cellpadding="5"><tr><td><div align="right">mysql 主机名:</div></td><td><input name="server" type="text" value="<?php echo $_REQUEST['server']; ?>">(通常为localhost"或输入 MySQL 服务器的 IP 地址)</td></tr><tr><td><div align="right">mysql 用户名:</div></td><td><input type="text" name="username" value="<?php echo $_REQUEST['username']; ?>"></td></tr><tr><td><div align="right">mysql用户名密码:</div></td><td><input type="text" name="password" value="<?php echo $_REQUEST['password']; ?>"></td></tr><tr><td><div align="right">mysql 数据库名称:</div></td><td><input type="text" name="database" value="<?php echo $_REQUEST['database']; ?>"></td></tr><tr><td colspan="2"><input type="submit" name="Submit" value="Submit"></td></tr></表单><?php}?><头><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Webune MYSQL 测试 - <?php echo $page_title;?></title><身体><h1><?php echo $page_title;?></h1><?php############## 结束函数############################开关 ($step) {情况2":如果($_REQUEST['服务器']){$db = 数组();$db['DB_SERVER'] = trim(stripslashes($_REQUEST['server']));$db['DB_SERVER_USERNAME'] = trim(stripslashes($_REQUEST['username']));$db['DB_SERVER_PASSWORD'] = trim(stripslashes($_REQUEST['password']));$db['DB_DATABASE'] = trim(stripslashes($_REQUEST['database']));$db_error = false;db_connect($db['DB_SERVER'], $db['DB_SERVER_USERNAME'], $db['DB_SERVER_PASSWORD']);如果($db_error == false){如果 (!db_test_create_db_permission($db['DB_DATABASE'])) {$error = $db_error;}} 别的 {$error = $db_error;}如果($db_error != 假){$error = "失败";echo step1($db_error);} 别的 {echo '<h1 style="color:green">恭喜!</h1>已成功连接到数据库 <strong><a href="http://www.webune.com/forums/how-to-test-mysql-database-connection.html">继续&gt;></a></strong>';}} 别的 {$error = "错误:请提供主机名";echo step1($error);}休息;默认:echo step1('步骤1');休息;}?><div align="center"><img src="http://www.webune.com/images/headers/default_logo.jpg">

<div align="center">脚本由<a href="http://www.webune.com">Webune PHP/Mysql Hosting</a></div>

I am trying to install magento onto my webhost, during install i get "database connection error" i have input all the values correctly (have contacted my webhost to be sure as I am stumped at this point) they said to refer to magento forums for extra support. I cannot find a fix. Any ideas / help would be MUCH appreciated.

解决方案

Try this script which tests your connection and reports the actual MySQL error. It might be useful to determine whether the credentials you were given will work, or which part of the process is failing. Since you are using it on a remote webhost I recommend you hard-code the database username and password to avoid passing them in clear over the open Internet.

(Note: Not my own work - script comes from webune.com)

<?php
###################################### C O P Y R I G H T S ####################################
# THIS SCRIPT IS DISTRIBUTED BY WEBUNE.COM UNDER LICENSE UNDER THE GPL RULES
# PLEASE DO NOT REMOVE THIS MESSAGE IN SUPPORT OF OUR HARD WORK TO CONTINUE TO PROVIDE FREE SUPPORT
###############################################################################################
# OK, HERE WE GO
# Use this varialble if you are using an installation script
$step = $_GET['step'];
if (!$step) {
    $page_title = 'Form';
}
else{
    $page_title = 'Test MySQL step '.$step;
}
############## BEGIN FUNCTIONS ##############################
# FUNCTION TO TEST USERNAME AND PASSWORD IN MYSQL HOST
function db_connect($server, $username, $password, $link = 'db_link') {
    global $$link, $db_error;
    $db_error = false;
    if (!$server) {
        $db_error = 'No Server selected.';
        return false;
    }
    $$link = @mysql_connect($server, $username, $password) or $db_error = mysql_error();
    return $$link;
}
# FUNCTION TO SELECT DATABASE ACCESS
function db_select_db($database) {
    echo mysql_error();
    return mysql_select_db($database);
}
# FUNCTION TO TEST DATABASE ACCESS
function db_test_create_db_permission($database) {
    global $db_error;
    $db_created = false;
    $db_error = false;
    if (!$database) {
        $db_error = 'No Database selected.';
        return false;
    }
    if ($db_error) {
        return false;
    } else {
        if (!@db_select_db($database)) {
            $db_error = mysql_error();
            return false;
        }else {
            return true;
        }
    return true;
    }
}

function step1 ($error) {
    echo '<h1 style="color:#FF0000">'.$error.'</h1><hr>';
?>
<form name="form1" method="post" action="<?php $_SERVER['PHP_SELF']; ?>?step=2">
<table border="0" cellspacing="5" cellpadding="5">
<tr>
<td><div align="right">mysql hostname:</div></td>
<td><input name="server" type="text" value="<?php echo $_REQUEST['server']; ?>">
(usually &quot;localhost&quot; or enter IP Address of MySQL Server)</td>
</tr>
<tr>
<td><div align="right">mysql username:</div></td>
<td><input type="text" name="username" value="<?php echo $_REQUEST['username']; ?>"></td>
</tr>
<tr>
<td><div align="right">mysql username password:</div></td>
<td><input type="text" name="password" value="<?php echo $_REQUEST['password']; ?>"></td>
</tr>
<tr>
<td><div align="right">mysql database name:</div></td>
<td><input type="text" name="database" value="<?php echo $_REQUEST['database']; ?>"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</form>
<?php
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Webune MYSQL TEST - <?php echo $page_title; ?></title>
</head>
<body>
<h1><?php echo $page_title; ?></h1>
<?php
############## END FUNCTIONS ##############################
switch ($step) {
    case '2':
        if ($_REQUEST['server']) {
    $db = array();
    $db['DB_SERVER'] = trim(stripslashes($_REQUEST['server']));
    $db['DB_SERVER_USERNAME'] = trim(stripslashes($_REQUEST['username']));
    $db['DB_SERVER_PASSWORD'] = trim(stripslashes($_REQUEST['password']));
    $db['DB_DATABASE'] = trim(stripslashes($_REQUEST['database']));
    $db_error = false;
    db_connect($db['DB_SERVER'], $db['DB_SERVER_USERNAME'], $db['DB_SERVER_PASSWORD']);
    if ($db_error == false) {
        if (!db_test_create_db_permission($db['DB_DATABASE'])) {
            $error = $db_error;
        }
    } else {
        $error = $db_error;
    }
    if ($db_error != false) {
        $error = "failed";
        echo step1($db_error);
    } else {
        echo '<h1 style="color:green">Congratulations!</h1>
        Connected Successfuly to datbase <strong>
        <a href="http://www.webune.com/forums/how-to-test-mysql-database-connection.html">Continue &gt;&gt; </a></strong>';
    }
        } else {
            $error = "ERROR: please provide a hostanme";
            echo step1($error);
        }
    break;

    default:
    echo step1('Step 1');
    break;
}
?>
<div align="center">
<img src="http://www.webune.com/images/headers/default_logo.jpg">
</div>
<div align="center">
Script Courtesy of
<a href="http://www.webune.com">Webune PHP/Mysql Hosting</a></div>
</body>
</html>

相关文章