チカッパ!でPHP5になったりPHP4になったりする!?
クライアントのサイトでチカッパ!レンタルサーバーを使っているところがあり、その仕様にはまったのでメモ。
チカッパ!は、ロリポップ!をちょっとだけ高機能にしたレンタルサーバー。
値段のわりには共有SSLもついているし、実質オプションにはなりますがマルチドメインも設定できて、なかなか使えるサーバーです。
とはいっても、最近ロリポップ!もSSLやcronまで対応したので、あんまり差が無くなってきたような気もしますが。
ことのなりゆき
そんなチカッパ!サーバーにて、Ktai EntryというWordpressのメール投稿プラグインをインストールしようとしたときのこと。
こちらのプラグインは、PHP5以上が対応ですので、
早速チカッパ!でphpinfo()し、バージョンを確認しました。
結果、PHP5.2.6だったので全く問題ありません。
早速Ktai Entryをアップして、管理画面でプラグインを有効化したらサイトが真っ白に。
つまりスクリプトエラーが発生しているようです。
あれ、なんでだろう!?と思い、急いでプラグインを無効にして復旧させ、次はローカル環境でテスト。
問題無く表示されます。
なんでかな~と思い、Wordpressをデバッグモードにしてエラーを出力してみると、
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /path/to/wp-content/plugins/ktai_entry/ktai_entry.php on line 73
調査したところ、PHP5で書かれていたスクリプトが、なぜだかPHP4で実行されておりエラーとなっているようでした。
でも、さっきphpinfo()でPHP5.2.6だったのになぁ~、
と思いながらあれこれ検証していたところ、原因が分かりました。
原因
このチカッパ!は、拡張子が.phpのファイルだけ、PHP5化されていて、それ以外、つまり.htmなどはPHP4で動いていたのです。
( AddType application/x-httpd-php .php .htm で、.htmをPHPとしてパースするようにしていました)
ブログ記事を引っ張るために、拡張子.htmであるトップページからWordpressのファイルをインクルードしていたため、PHP4.4.9で実行され、エラーになっていたのでした。
最初にphpinfo()したとき、拡張子.phpのファイルでテストしたので気づきませんでしたorz
そう言えばロリポップ!でも、後からPHP4をPHP5に移行させたせいで、PHP関連はちょっといろいろありましたね。
というわけで、
AddType php5-script .php .htm
を.htaccessに記述して解決!!
久々につまらないことで1時間以上時間を使ってしまいました。
どなたかのお役に立てば幸いです。
馬場様、はじめまして。
新里と申します。
http://www.parttime-job.jp/mobi_sbm/
上記サイトをチカッパのドメイン直下に設置する際に、非常に参考になりました。
「チカッパ」ってPHP5使えたんじゃ…」
と、ウロウロしながら1時間ほど時間をつぶし、貴サイトのこのページを拝見し、
1分で問題解決しました。
ありがとうございます
新里
新里様、はじめまして。
チカッパのこの仕様は本当まぎらわしいですよね。
私も結構時間をくってしまった記憶があります。
お役立ていただけたようで幸いです!