Affinger4をインストしてエラーはPHPのバージョンをチェック

ブログやその他のサイトを作るときにWordPressのテンプレートとしてStingerやAffingerを使っていましたが、AffingerはAffinger4Proとして有料テーマになったことをしりました。

サイトをみてみるとGoogleが検索条件として優先すると言われているAMP(Accelerated Mobile Pages)にも対応したということで、既存サイトのリニューアル用にとAffinger4Proを購入してみました。


AFFINGER4Pro

目次

早速インストール、あれ?

Affinger4.zipをテーマのインストールからアップロードして有効化したところ、

affinger4Pro

HTTP ERROR 500が出ています。

原因を探る為にWordPressのconfig.phpをいじってデバッグモードにして、どんなエラーなのかを調べてみました。


// 修正前:エラーが表示されない
define('WP_DEBUG', false);

// 修正後:エラーが表示されるようになる
define('WP_DEBUG', true);

エラーを確認。でもPHPのバージョンっぽい

Parse error: syntax error, unexpected T_FUNCTION in /html/wp-content/themes/affinger4/functions.php on line 377

エラーはParse errorでしたが、なんとなくPHPのバージョンの指定があったようなとAffinger4の仕様を確認してみたところ、

※WordPress4.5以上(4.6.1迄確認)、PHP5.6以上推奨(5.3以上必須、PHP7迄確認)

となっておりました。

CPIのACEというレンタルサーバーを利用しているのですが、WordPressを使う場合は.htaccessに表記をすることでPHPのバージョンをコントロールしているのでチェックしてみると

AddHandler x-httpd-php528 .php

となってました。つまり、PHPのバージョンは5.2で、Affingerの仕様には合っていません。

なので、バージョン5.6に変更するべく下記に修正

AddHandler x-httpd-php5619 .php

これで、解決できるでしょうとおもったのですが….

テストサーバーは本番サーバーと

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

こちらでもエラーが発生。Internal Server Errorだそうな。

実は使っているのが「CPI ACEプラン」のテストサーバーだったので、もしかしたら使用できるPHPバージョンに違いがあるのではないかと試してみることにしました。

確認用としてindex.phpに

phpinfo();

を書いてPHPが動いているかを確認。

まずは、

AddHandler x-httpd-php5425 .php

これはエラーが出て動かず、次に

AddHandler x-httpd-php536 .php

これでためしたところ、

Phpinfo

無事に表示されました。

その後、Affinger4をインストールした状態でも無事に表示されることが確認できました。

まとめ

Affinger4をインストールして「ページは機能していません」というエラーが表示されたら、使用しているサーバーのPHPのバージョンを確認してみたほうがよいでしょう。スペックとしてPHP5.3以上でなければ動かないので、昔から使っているレンタルサーバーは注意が必要です。

さらに、CPI ACEプランのテストサーバーは使えるPHPのバージョンが本番サーバーと同じではないので注意しましょう。

ということで、これからはAMP対応もしたAffinger4を使って、自分のサイトのリニューアルをしていこうと思います。