2017年10月20日
  • 自社保有メディアのサイト運営によるインターネット広告事業・WordPressによるサイト制作事業・コワーキングスペース・シェアオフィス・貸会議室の運営事業を行っています。

CPIサーバーのシェアードプランACE01(エース)でWordPressを使うためのphp.iniの初期設定

どうもどうも、こんにちは。株式会社コミュニティコムの星野邦敏です。

昨日、
CPIサーバーのシェアードプランACE01(エース)でWordPressを使うための.htaccessの初期設定
という記事を書きまして、さきほど、
CPIサーバーのシェアードプランACE01(エース)でWordPressを使うためのデータベースの初期設定
という記事を書きましたので、3つ目の記事として、
CPIサーバーのシェアードプランACE01(エース)でWordPressを使うためのphp.iniの初期設定
について、以下に説明します。

これらの設定をしないと、CPIサーバーのシェアードプランACE01(エース)では、日本語版のWordPressを、上手く使うことは出来ないでしょう。
具体的には、文字化けが起きる、パーマリンクの設定が出来ない、日本語を入力すると省略されてデータとして認識されない、などの不具合が生じます。

CPIサーバーのシェアードプランACE01(エース)のサーバー情報を、phpinfo関数で見てみると、以下のように、文字コードが「EUC-JP」であることが分かると思います。

CPIサーバーのシェアードプランACE01(エース)でWordPressを使うためのphp.iniの初期設定

WordPress日本語は、文字コードが「UTF-8」なので、

mbstring.internal_encoding = EUC-JP

mbstring.internal_encoding = utf-8
と変更する必要があります。

また、

mbstring.encoding_translation = On
とあるので、これを
mbstring.encoding_translation = Off
に変更しましょう。

mbstring.encoding_translationをOnにすると、入力されたデータがmbstring.internal_encodingで指定してある文字コードに変換されます。Onにしておいても上記の指定で、mbstring.internal_encoding = utf-8に変更しているので問題無いかもしれませんが、念のためOffにしておいた方が良いかと思います。

php.iniは、
コントロールパネルの
ホーム > お客様情報 > プログラムのパスとサーバの情報 > PHP iniの設定情報
から設定を確認できます。

CPIサーバーのシェアードプランACE01(エース)でWordPressを使うためのphp.iniの初期設定

このphp.iniファイルをコピーして、ファイルの名を「php.ini」としたテキストファイルを用意しておきます。
その上で、
(1)
mbstring.internal_encoding = EUC-JP
とある行を、
mbstring.internal_encoding = utf-8
と変更して、
(2)
mbstring.encoding_translation = On
とある行を、
mbstring.encoding_translation = Off
に変更しましょう。

変更し終えたphp.iniファイルを、WordPressの置いてあるトップのディレクトリ階層にアップロードすると、有効になります。

(追加)
吉田さんから、php.iniファイルをそのままWordPressと同じ階層においたら、ドメイン名/php.iniとURLを直接打ったら、php.iniの情報が全部見えちゃわない?と指摘を受けました。確かにその通りだと思いますので、パーミッションで、権限を「640」とかにして、公開パーミッションでは書き込みだけでなく読み込みもさせない、という設定にすると、php.iniファイルの情報を見られることが無くなるのではないかと思います。あと、吉田さんの指摘の通り、上の階層にphp.iniを置いて、.htaccessファイルの指定をsuPHP_ConfigPath /usr/home/ユーザーID/としても良いかもしれません。
吉田さん、指摘ありがとうございました!

(追加)
CPIサーバーのシェアードプランACE01(エース)でWordPressを使うための初期設定まとめを書きました。