WordPressのdbDelta関数

dbDelta関数はWordPressでデータべースを利用したプラグイン開発で利用される関数です。

WordPressの規約にあっているかを確認した後にテーブルを作成することができるので
テーブルを作成する際は利用しておいた方がいいのですが、なかなかの曲者です。

create table table_name(
id int NOT NULL AUTO_INCREMENT,
table_name varchar(255) NOT NULL,
updated_at DATETIME NOT NULL,
UNIQUE KEY id (id)
) charset_collate;

CREATE TABLE table_name(
id int NOT NULL AUTO_INCREMENT,
table_name varchar(255) NOT NULL,
updated_at DATETIME NOT NULL,
UNIQUE KEY id  (id)
) charset_collate;

NG例とOK例を記載しておきます。何が違うかわかりますか?

テーブルを削除する

テーブルを削除する場合は以下のSQLを実行します。

DROP TABLE IF EXISTS {テーブル名};

IF EXISTSは、テーブルの存在をチェックし、指定のテーブルがない場合は何もしないようになります。

DROP TABLE {テーブル名};

上記、SQLを実行してもテーブルを削除することができますが、指定したテーブル名が存在しない場合は、Error 1051を返します。

Apacheのインストール

CentOSに最新版のApacheをインストールします。

IUSのリポジトリをインストールする

yum -y install https://centos7.iuscommunity.org/ius-release.rpm

IUSのリポジトリをデフォルトからはずす

vi /etc/yum.repos.d/ius.repo

編集モードで以下の箇所を変更

[ius]
enabled=0 #enabled=1

epelのリポジトリがインストールされているか確認

cd /etc/yum.repos.d/
ls

Isもしくはllでepel.repoがあるか確認

ない場合は以下を実行してepelをインストール

yum -y install epel-release

epelのリポジトリをデフォルトからはずす

vi /etc/yum.repos.d/epel.repo

編集モードで以下の箇所を変更

[epel]
enabled=0 #enabled=1

nghttp2のインストール

yum --enablerepo=epel -y install nghttp2

/etc/mime.typesのインストール

yum -y install mailcap

IUSリポジトリからhttpd を yum install(Apacheのインストール)

yum --disablerepo=base,extras,updates --enablerepo=ius install httpd

後に必要になるものをインストール

yum -y install openldap-devel expat-devel perl perl-devel unzip
yum --disablerepo=base,extras,updates --enablerepo=ius -y install httpd-devel mod_ssl

起動確認

systemctl start httpd

操作コマンド

起動
systemctl start httpd
停止
systemctl stop httpd
再起動
systemctl restart httpd
自動起動
systemctl status httpd
状態確認
systemctl enable httpd

設定ファイルの場所
vi /etc/httpd/conf/httpd.conf