当サイトはcoreserver(コアサーバー)でWordPressを利用して運営しています。テンプレートはわいひら氏作成のSimplicity。何の不満もありません。しかし新しいプラグインが登場すれば使いたくなるのが人の性です。というわけで今回、Simplicityさんで紹介されていた「CFiltering」というプラグインを使いたくなり、導入しようとしました。が、エラー発生(涙)すぐに原因は判ったのですが、エラー発生。結局、coreserverさんへ問い合わせ、何とか使えるようになりました。というわけでその顛末です。
無料テンプレート「Smplicity」
冒頭で申し上げた通り、私はわいひら氏の作った「Simplicity」という無料テンプレートを利用しています。
このテンプレートは、SEOの知識がなくとも、カスタマイズの知識がなくとも、端末別の表示の知識がなくとも、適切に表示してくれるありがたいものです。よって、無くてはならないテンプレートなので、私はわいひら氏のツイッターもフォローしています。すると「Simplicityでより精度の高い関連記事を表示するカスタマイズ方法」というツイートが発信されたので迷わず食いつきましたw
新しいプラグイン「CFiltering」
ツイッター経由で私は「Simplicity」サイトへ訪れ、記事を読みました。
すると新しいプラグイン「CFiltering」を導入すれば、いわゆる「この記事を読んだ方はこんな記事も読んでいます」という表示を実現してくれるようになる(当該ページリンク)というのです。Amazonなどの通販ショップでよく出ているアレです。
勿論現在も「関連記事」を表示させているのですが、どれくらいの精度かというと完璧とは言えません。なので俄然興味がわいたので早速インストールするために「CFiltering」作成者の「technote」さんのサイトに移動しました。
ページは削除されました。https://technote.space/cfiltering
詳細はtecenoteさんのページにいけば判ります。「CFiltering」はWordpressのプラグイン検索で出てくるようになっているということだったので、早速検索してインストールしました。しかし何の変化もありませんでした。無事に稼働している場合、投稿一覧ページに「レコメンデーション」という項目が追加されるというのに何にも表示されないのです。
「CFiltering」が動かない原因
インストールしたのになーんにも起こらなかったため、私は慌てて「technote」さんのページに原因探索にいきました。
PHPバージョンは5.4から
動作条件を確認すると「PHPのバージョンは5.4から対応」との記載がありました。私はすぐにサーバーのPHPバージョンを確認しにいきました。するとPHPのバージョンが5.3.29となっていたため「使えないんだ」と一瞬諦めました。しかし私が見ていたのは「サーバーのハード・ソフトウェア情報」の記載でした。それにcoreserverとPHPについて調べると使用したいPHPのバージョンは変更出来るという情報があったので、早速変更することにしました。
coreserverでのPHP設定
設定を変更するためにcoreserverの管理画面へログインしましょう。トップページ右上にログインボタンがあるのでクリックします。
パスワード等を入力して管理画面へログインしましょう。
ログインした最初のページに「PHP設定」というボタンがあるのでクリックします。
するとドメインごとに設定されているPHPのバージョン等が表示されます。PHPのバージョンは5.3になっていました。
PHPのバージョンを変更したいドメインの設定を変更します。5.6を選んで、PHP設定をクリックします。
変更すると下の画面になり、変更は完了します。少し待ちましょう。
PHPのバージョンを上げてもエラー
coreserver上でのPHP設定を変更は完了しました。しかしそれでも「CFiltering」は使えませんでした。何の変化もなかったのです。こうなるとど素人のわたしには何にもできません。諦めました。一旦。
すると諦めて数日後くらいでしょうか。「CFiltering」のプラグインが更新されはじめました。私は期待を込めてプラグインのアップデートを続けました。すると「PHPをアップデートしてください。CFilteringの動作にはPHP5.4以上が必要です。」というエラーが表示されるようになりました。
PHPバージョンを上げろと・・・上げたのに・・・orz
でも使えない原因が「PHPのバージョン」にあるとはっきりしました。そして「PHPのバージョン」変更が反映されないならcoreserverさんに頼るしか無いと動きました。
coreserverさんと一緒に対応
coreserverさんへはまずサポート掲示板を介してやりとりました。まずは「PHPのバージョン」が変わらないと訴えたのです。
動かない原因その1「ログインアドレス」
coreserverさんはまず「ログインアドレス」の確認するように連絡を受けました。というのも、ちゃんとした?WordPressの管理画面のログインURLからログインしていないと、「PHP設定」の変更が正常に反映されないことがあるというのです。
いわゆるワードプレスのログインURLというのは「http://ドメイン/wordpress/wp-login.php」という形式です。しかし私のサイトはセキュリティのために変更になっていました。ちなみに使っていたのはプラグイン「SiteGuard WP Plugin」というものです。このプラグインはWordPressへの不正アクセス等を防ぐためのもので、ログインURLまで変えてしまう物です。世界中にユーザーの居るWordPressを使用している以上、用心はするだけ良いので導入していました。しかし今回はそれが仇になっているかもしれなかったのです。
というわけで、一旦「SiteGuard WP Plugin」を停止して、通常のURLでログインし直しました。が、何も起こらない。エラーも出たまま。まだ「」は使えませんでした。(とはいえ、PHPのバージョン変更が正常に実行されていなかったという可能性は消えていません。なので同じ症状を起こしている方は通常URLからのログインも試す価値があります)
動きませんでした。というわけで、サイドcoreserverさんに「助けて連絡」をしました。するとcoreserver側で試してくださったところ稼働しているとのことでした。となるとこちら側のみに何らかの問題が生じているわけです。しかし何せ私は素人です。原因を探す事が出来ず、「CFiltering」さんのURLと動作条件等を連絡し、丸投げしました(汗)するとcoreserverさんから解決法の連絡がきました。
セーフモード対策のコードが犯人
届いたお返事には「/public_html/.htaccess」に記載しているコードをコメントアウトするか削除して下さいと書かれていました。その瞬間「あっ」と思いました。
「coreserver」や「xrea」は、2014年12月までPHPを「セーフモード」でしか動かせませんでした。そのため、私は「.htaccess」ファイルに特別なコードを書き込んでいたのです。
すっかり忘れていました。というわけで、coerserverさんから言われた通り、「ルートディレクトリ」の「.htaccess」に記述したコードを削除しました。
AddHandler application/x-httpd-phpcgi .php <files load-styles.php> AddHandler application/x-httpd-php .php </files>
↑これを削除したところ、無事に「PHPをアップデートしてください。CFilteringの動作にはPHP5.4以上が必要です。」のエラーが消え、記事一覧ページに「レコメンデーション」の項目も表示されるようになってようやく使えると歓喜しました。
が、まだ少し問題がありました。というのも、管理画面上に「PHPをアップデートしてください」のあのエラーが出ていたり、出ていなかったりしたからです。
そこで考えました。きっとまだどこかに「セーフモード」対応コードを書いていると。で、探してみるとありました。「wp-admin」ディレクトリ内の「.htaccess」ファイルにまたしてもコードがあったのです。ちなみに記載していたのは↓でした。
<files async-upload.php> AddHandler application/x-httpd-phpcgi .php </files> <files admin.php> AddHandler application/x-httpd-phpcgi .php </files> <files update.php> AddHandler application/x-httpd-phpcgi .php </files> <files upgrade.php> AddHandler application/x-httpd-phpcgi .php </files> <files plugin-install.php> AddHandler application/x-httpd-phpcgi .php </files> <files update-core.php> AddHandler application/x-httpd-phpcgi .php </files> <files plugins.php> AddHandler application/x-httpd-phpcgi .php </files> <files themes.php> AddHandler application/x-httpd-phpcgi .php </files>
こんなの本当に忘れてました。しかしセーフモードが無くなっているのだから不要なのは間違いありません。こんなのを放置していたら今後もまたトラブルの元になるに違いありません。というわけでこれもさくっと削除しました。そしてようやく「PHPをアップデートしてください」エラーが消えたのです。長かったーーー!
最後にひとこと
新しいプラグインを見つけて導入できるようになるまで2週間ほど掛かっちゃいましたが、無事に動くようになって良かったです。とはいえ、実際に活躍してくれるまではまだ時間がかかります。というのもデータを取得して蓄積するまでに皆さんのアクセスが必要だからです。きっと大手?すごいアクセスのあるブログならば数日で完了するのでしょうが、うちのような弱小サイトでは一ヶ月はかかるかもwでも楽しみです。
というわけで、凄いプラグイン「CFiltering」を作ってくれた「technote」管理人さん、そしてそれを教えてくれた「Simplicity」管理人わいひら様、ありがとうございました。感謝感謝です。