5

私は自分のWebホストにmagentoをインストールしようとしています.インストール中に「データベース接続エラー」が発生します.すべての値を正しく入力しました(この時点で困惑しているため、Webホストに連絡して確認しました).追加のサポート。修正が見つかりません。どんなアイデア/助けも大歓迎です。

4

8 に答える 8

8

接続をテストし、実際の MySQL エラーを報告するこのスクリプトを試してください。与えられた資格情報が機能するかどうか、またはプロセスのどの部分が失敗しているかを判断するのに役立つ場合があります。リモート Web ホストで使用しているため、データベースのユーザー名とパスワードをハードコーディングして、オープンなインターネット上で平文で渡さないようにすることをお勧めします。

(注: 私自身の作品ではありません。スクリプトは 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>
于 2013-07-16T11:08:14.227 に答える
5

データベース設定を送信する前に、phpMyAdmin を使用して手動でデータベースを作成することで、この問題を解決しました。

于 2014-04-11T09:15:01.903 に答える
2

データベース名テキストフィールドで指定した値でデータベース名を作成したかどうかを確認します

于 2014-07-07T11:41:40.187 に答える
1

このエラーには多くの理由が考えられますが、データベース名、ユーザー名、およびパスワードがすべて正しく、データベースが同じホスト上にあると仮定すると、ホスト名と IP アドレスを交換してみることができます。

つまり、現在ホスト名として「localhost」を試している場合は、代わりに「127.0.0.1」を試してください。すでに「127.0.0.1」を試している場合は、「localhost」を試してください。

于 2013-07-16T10:38:29.860 に答える
0

1) xampp\php\php.iniに移動し、 「;」を削除します。"extension=php_curl.dll" の前に署名

2)次の場所に移動して、コードを置き換えてください:

ファイルの場所: app/code/core/Mage/Install/etc/config.xml

コードを見つける: <pdo_mysql>

と置換する :

<pdo_mysql> 1 </pdo_mysql>
于 2014-02-25T11:43:15.477 に答える