5年程前からCPIの共用サーバー「シェアードACEプラン」を利用しています。
ドメインごとに管理画面があるのでとても使いやすいのですが、最近、.htaccessファイルの記述を変えてもPHPのバージョンをあげようとするとエラーが発生するということが発生しました。
結論から言うと、php.iniファイルを置いているとエラーが発生するので、php.iniを削除することで私は解決しました。
目次
WordPressの管理画面にはいれない
ことの発端は、WordPressで運営しているサイトが、普通に表示されるものの管理画面に入れないということがおこりました。
.htaccessをみてみると
AddHandler x-httpd-php536 .php
となっており、PHP5.3.6です。
たしかPHPのバージョンがこれは低すぎたはずと公式で「WordPress 日本語版の推奨動作環境」を確認したところ、
PHP バージョン 7 以上
MySQL バージョン 5.6 以上 または MariaDB バージョン 10.0 以上
古い PHP や MySQL しか利用できないレガシーな環境でも、PHP 5.2.4 以上、かつ MySQL 5.0 以上であれば WordPress は動作しますが、公式サポートは終了しており、サイトがセキュリティの脆弱性にさらされる危険があります。プラグインやテーマによっては、動作要件が上記とは異なることがあります。事前にご利用予定のプラグインやテーマの動作要件をご確認ください。
いつの間にかPHP7以上が推奨になっていました。
CPIのレンタルサーバーのPHPバージョンは.htaccessへの記述で変更する
PHPのバージョンを変更するには、.htaccessファイルに下記のように「AddHandler」の記載を変えるだけなので簡単なはずですが、なぜか、PHPバージョンをあげようと記述を変えるとサーバーエラー(500)が起こるようになりました。
ドメインの管理画面からエラーログをみてみよう
運営ドメインのCPI管理画面からログ管理をクリック
ログの表示をクリック
エラーログを見るを押すと
こんな感じでエラーログをみることができます。
malformed header from script.
ログにはこんなエラーがありました。
> [Sat Feb 11 08:44:57 2017] [error] [client] malformed header from script. Bad header=<br />: index.php, referer: http://hoge > [Sat Feb 11 08:44:57 2017] [error] [client] malformed header from script. Bad header=<br />: index.php
ググってはみたものの、どうやったら解決するのかわかりません。
CPIのテスト環境にWordPressをインストールしてみた
CPIのレンタルサーバーACEプランのよいところはテスト環境があるところ。
そこに新しくWordPressをインストールして、AddHandlerでPHPバージョンをあげてもちゃんと動くかを確認してみました。
結果、全く問題なし。
本番環境にもう1個フォルダを作ってWordPressをインストールして引越かな
しょうがないので、本番環境にもう1個フォルダを作ってWordPressをインストールして引越をすることを検討しはじめました。
幸い、このサイトはドメインの下にWP用の[hoge]というフォルダをつくり、index.phpは下記のようにすることで運営していました。
define('WP_USE_THEMES', true); /** Loads the WordPress Environment and Template */ require('./hoge/wp-blog-header.php');
あれ?php.iniがある
何気なく見ているとphp.iniファイルがあるのに気づきました。
これ、今から5年ぐらい前にCPIのACEプランを使っていた人は、デフォルトのphpの設定だといろいろ問題があったので、このファイルで調整をしていたんですよね。
この内容についてはコミュニティコムの星野さんが2012年に記事を書いていました。
CPIサーバーのシェアードプランACE01(エース)でWordPressを使うための.htaccessの初期設定 | 株式会社コミュニティコム
もしかしたらこれがまずいのかなとおもい、php.iniをリネームしてからAddHandlerでPHPのバージョンをあげたところエラーが起こらず管理画面に入れるようになりました。
良かった!
まとめ
CPIのACEプランを5年程前から使っている人で、phpのバージョンがうまくあがらないって人は、php.iniがないかどうかチェックすると良いですよ。
というか、もう5年も経ったなんて信じられないっすね。
みなさん、健康には気をつけましょう。
CPIの新しいサーバーはphp7も使えるし再販もできるのでよいのですが、SSLがなんとかなるといいなぁ。