Ktai Entry の動作モードは2種類ありますが、どちらを利用されていますか?
外部メールボックスを随時読み出す方式の場合は「ウェブ経由でPHPが実行」となるので、サポートの言うことが正しければ PHP 5 で動くはずです。メール着信時にスクリプト実行の場合は、確かに「シェル経由で PHP 実行」となります。
しかし、プラグインを有効化するときにエラーが出たとすると、サポートの説明が間違っています (ウェブ 経由でも PHP4 が動作している)。
「Web経由でPHPスクリプトを実行した際には
PHP5が実行されておりますが、シェル経由で
コマンドとして実行した場合はPHP4が動作
しております。
コマンド実行時に、
/local/bin/php
を指定して頂く事でPHP5を実行する事が可能です。」
Ktai Entry をメール着信時にスクリプト起動で動かす場合は、.forward や .qmail から inject.php を呼び出しますが、そのときの PHP パス指定を調整すればいいはずです。
また、上記の説明で分からなければ、そもそも「メール着信時にスクリプト起動で動かす」ことはあきらめた方がいいです。これは中上級者向けの機能であって、この説明で分からない人は対象にしていないからです。「メールループ」などの重大事故が発生する可能性がある機能のため、それに対処できる知識が必要となっています。
lilyfan 様
ご回答ありがとうございます。
メール着信時にスクリプト実行する方式は自分にはまだ敷居が高いので
外部メールボックスを随時読み出す方式を利用しています。
プラグイン有効化時にPHP4 が動作しているのでは?とご指摘いただいた点について
サーバのサポートからは下記の回答が得られました
「実際に4.4と判定されている事から、
・有効化の処理の中で、PHPをコマンドとして
実行している箇所が存在する
・PHPのバージョンを判定する際に、PHPを
コマンドとして実行している
のどちらかではないかと思われます」
Web経由でPHPスクリプトを実行した際はPHP5が実行されるのではという
質問の趣旨からはなれている気もしましたが、
自分の理解度が低いことも大いにありますので
またご教示いただければ助かります。
どうぞ宜しくお願いいたします
・有効化の処理の中で、PHPをコマンドとして
実行している箇所が存在する
・PHPのバージョンを判定する際に、PHPを
コマンドとして実行している
WordPress, Ktai Entry に関してはどちらも間違いです。
WordPress のプラグイン有効化の処理はあくまで Web アプリとして PHP を実行しています。エラー表示は iframe によって別プロセスとしてページ描画することで、エラー停止を防いでいます。
Ktai Entry は PHP5 専用で書いてあって、PHP4 で実行した場合は Fatal Error になりますが、特に PHP のバージョン検出は行なっていません。純粋に private という予約語が PHP4 にないためにエラー発生します。
WordPress 自体の PHP バージョン確認も、PHP 組み込みの phpversion()
関数を使っていてコマンドライン実行とか特殊な手段は使っていません。
したがって、考えられる原因は「そもそも WordPress 自体が PHP4.4 で実行されているのではないか?」ということになります。再度サポートに相談してもらえないでしょうか?
lilyfan 様
ご返信が遅くなりましてすみませんでした。
サーバのサポートに確認したところ、
「一部のサイトにてPHP5の設定が無効状態になっていることが判明した」
ということで
自分の使用しているサーバもその該当だったと説明を受けました。
サーバ側での修正後、プラグインを有効化させることができ、
また 外部メールボックスを随時読み出す方式での投稿も確認できました。
お手数をおかけしてすみませんでした。
いろいろとありがとうございました。