サポート » インストール » インストール時のエラー「データベース接続確立エラー」

  • wordpressをインストールする際に以下のようなエラーが出てしまいます。

    Warning: mysqli_real_connect(): in C:\Program Files\Apache\Apache24\htdocs\wordpress\wp-includes\wp-db.php on line 1343
    
    Warning: mysqli_real_connect(): in C:\Program Files\Apache\Apache24\htdocs\wordpress\wp-includes\wp-db.php on line 1343
    
    Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\Program Files\Apache\Apache24\htdocs\wordpress\wp-includes\wp-db.php on line 1373
    
    Warning: mysql_connect(): in C:\Program Files\Apache\Apache24\htdocs\wordpress\wp-includes\wp-db.php on line 1373
    
    Warning: mysql_connect(): in C:\Program Files\Apache\Apache24\htdocs\wordpress\wp-includes\wp-db.php on line 1373
    データベース接続確立エラー
    これは wp-config.php ファイルのユーザー名とパスワード情報が間違っているか wordpress のデータベースサーバーに接続できないかのどちらかを意味します。ホストのデータベースサーバーがダウンしているかもしれません。
    
    ユーザー名とパスワードか正しいか確認してください。
    正しいホスト名を入力しているか確認してください。
    データベースサーバーが動作中か確認してください。
    こうした用語が何を意味するのか分からない場合は、ご利用中のホスティングサービスに連絡してください。それでも助けが必要な場合はいつでも WordPress サポートフォーラムを使うことができます。

    WordPressを初めてインストールしようとしており、以下のサイトを参考に作成を進めておりました。
    http://www.adminweb.jp/wordpress/install/
    しかし、インストールの手前で上記のようなエラーが出てしまいます。

    環境は以下のとおりです。
    OS:Windows8
    Wordpress Version 3.9.1
    PHP Version 5.5.13
    MySQL Version 5.6.19
    Apache Version2.4.9

    wp_config.phpのユーザ名・パスワード等が正しいことは確認済みです。
    データベースも削除、作成を何度か試し、存在も確認済み。
    Apacheの起動も確認済で、restartを何度か行っています。
    アプリケーションは全て管理者権限で実行しております。

    他に考えられる原因はなにかありますでしょうか。よろしくお願いします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • mysqli ライブラリを使って接続しようとしたが、できなかったので、mysql ライブラリに切り替えてみたが、これも失敗した、というメッセージです。PHP のエラーログを見て、何が起こっているのか確認すれば、原因がわかるかもしれません。

    環境自体ご自分で作られたのでしょうか?
    mysqli自体がインストールされていないor有効になっていない可能性があります。

    Webサーバーのドキュメントルートになんか適当にファイルを作って
    phpinfoしてからmysqliを検索してみて下さい。
    何も無ければインストールされて居ないと思います。

    インストールについては下記を参考にしてみてはいかがでしょうか。
    http://www.phppro.jp/phpmanual/php/mysqli.installation.html

    もしインストールされてるなら
    php.iniの1137付近にmysqliの設定項目があるので、
    コメント外して有効化すれば動くかも知れません。

    誤解があるかもしれませんので、補足しておきます。

    1. この Warning は mysqli ライブラリまたは mysql ライブラリが存在しないために出ているエラーではない。
    2. 3 つ目の Notice は、PHP 5.5 で新設されたもので、PHP が出している。
    3. 4.0 beta も含めて、現行の WordPress は、mysqli ライブラリがなくても正常動作するように作られている。

    メッセージと、wp-db.php のコードを見比べてみれば明らかなように、WordPress は、PHP からの応答で、mysqli_connect が存在することがわかったので、mysqli ライブラリを使うようにオブジェクトを初期化しています。mysqli_init() は、サーバが存在しなくても、リターン・コード 0 を返しますが、ライブラリがないと実行できません。ところが、接続を試みたときに、サーバからの応答がないので、ここではじめて Warning が出たわけです。WordPress は、次に、fall back して、mysql_connect を使って接続を試みます。これは自動的に行われるようになっていて、mysqli ライブラリがないだけでは絶対に止まらないようになっています。しかし、それでもサーバからの応答がないので、メッセージを出力して return したわけです。このエラー・メッセージは、もちろん、WordPress が出しています。

    仮に、mysqli ライブラリが存在しない場合、コンストラクタの段階で mysql ライブラリを使うように設定されるので、エラーで止まることはありません。また、mysql ライブラリがない場合は、Warning ではなくて、エラーになります。さらに、「データベース接続確立エラー」は、文字通り mysql_connect が失敗して、接続ができなかったという意味であって、ライブラリの有無の問題ではありません。

    ここまでは、wp-includes/wp-db.php を読むとわかります。質問者からのリプライがないので、残念ながら、これ以上の原因究明はできませんが。

    なるほど。
    ユーザ名もパスワードもホストもポートも正しい前提で
    自分だったら確認することを述べました。

    でもmysqli_real_connectがundifinedじゃないので
    確かにインストールの問題じゃないですね。
    詳しいご説明ありがとうございます。勉強になりました。

    mysqli については、規定路線なので、移行はまちがいないのですが、誤解している方もいらっしゃるので、追加しときました。

    #21663

    あたりが参考になります。Nacin さん曰く。

    Why? (And why 5.5?) Well, one, WordPress already works pretty well under ext/mysql, and we’ve gotten used to its quirks, and I wouldn’t want to suddenly break a site that’s been working fine under PHP 5.2-5.4. Two, the bigger issue is that a lot of plugins are going to be affected, and that’s what’s probably gonna break a site. Easing this in (5.5 only) is the only way to do this without causing a complete disaster.

    すごいというか、頑固というか、既存の WordPress installtion は絶対に壊さないという姿勢です。また、

    Updates from April, 2014

    では、ちゃんと fall back しますよって書かれています。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「インストール時のエラー「データベース接続確立エラー」」には新たに返信することはできません。