LoginSignup
0
0

More than 3 years have passed since last update.

WordPress の wp-config.php のバリデーション

Last updated at Posted at 2020-05-24

WordPress のデータベースへの接続は wp-config.php で定義されます。
その接続情報でデータベースに接続できるか判定する方法です。

wp-config.php は、wordpress 以下にあるものをコピーします。
wp-settings.php は空の PHP です。

フォルダー構造

$ tree
.
├── connect_check.php
├── wp-config.php
└── wp-settings.php
connect_check.php
#! /usr/bin/php
<?php
/*
    connect_check.php

                    May/24/2020

*/
// --------------------------------------------------------------------
include_once ("wp-config.php");

// --------------------------------------------------------------------
$host = DB_HOST;
$user = DB_USER;
$password = DB_PASSWORD;
$db = DB_NAME;

$dsn = 'mysql:dbname=' . $db . ';host=' . $host . ';charset=utf8';

fputs (STDERR,"*** 開始 ***\n");
print DB_USER . "\n";

try
    {
    $dbcon = new PDO ($dsn, $user,$password);
    $sql = "show schemas";
    $sql = "select version()";
    foreach ($dbcon->query($sql) as $row)
        {
        $str_json = json_encode($row);
        print $str_json . "\n";
        }
    $dbcon = null;
    }
catch  (PDOException $e)
    {
    print('Error:'.$e->getMessage());
    }

fputs (STDERR,"*** 終了 ***\n");
// --------------------------------------------------------------------
?>
wp-settings.php
<?php

?>

実行結果

データベースが MariaDB の時

$ ./connect_check.php 
*** 開始 ***
wordpress
{"version()":"10.4.13-MariaDB","0":"10.4.13-MariaDB"}
*** 終了 ***

データベースが MySQL の時

$ ./connect_check.php 
*** 開始 ***
wordpress
{"version()":"5.7.28-log","0":"5.7.28-log"}
*** 終了 ***

接続が出来ない時

$ ./connect_check.php 
*** 開始 ***
wordpress
Error:SQLSTATE[HY000] [1045] Access denied for user 'wordpress'@'localhost' (using password: YES)*** 終了 ***

バリデーションでオーケーになっても、まだ WordPress で接続できない時は、次を試して下さい。

sudo setenforce 0
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0