茨城県取手市で働くWebクリエイター 馬場誠のサイト(2018/東京都世田谷区から引越しました)

馬場誠.comブログ

チカッパ!で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時間以上時間を使ってしまいました。
どなたかのお役に立てば幸いです。

コメント / トラックバック 2 件

  1. 新里 さんより:

    馬場様、はじめまして。

    新里と申します。

    http://www.parttime-job.jp/mobi_sbm/

    上記サイトをチカッパのドメイン直下に設置する際に、非常に参考になりました。

    「チカッパ」ってPHP5使えたんじゃ…」

    と、ウロウロしながら1時間ほど時間をつぶし、貴サイトのこのページを拝見し、

    1分で問題解決しました。

    ありがとうございます

    新里

  2. babamakoto さんより:

    新里様、はじめまして。

    チカッパのこの仕様は本当まぎらわしいですよね。
    私も結構時間をくってしまった記憶があります。

    お役立ていただけたようで幸いです!

コメントをどうぞ