非常に単純な PHP アプリを設計しました。localhost (XAMPP / Windows 7) で完全に動作し、アップロード先の Web サーバーでは完全に失敗します。失敗時に表示されるエラーは何も言わない。
サーバー構成が何であれ (多くのサーバーでテストされています)、アプリケーションを実行しようとすると、次のいずれかで終了します。
- PHP エラー:
unexpected T_STRING in .../template/template.html on line 1
、 - HTTP エラー 500:
Internal Server Error
、 - 空のページ (エラー報告が無効になっていると仮定)。
ファイルtemplate/template.html
は、いくつかの単純な PHP ステートメントを含む、正しいヘッダー、本文、および構造を持つ単なる通常の XHTML ファイルです。require
次の関数でロードして解析します。
public static function renderPartial($view, $data = array())
{
if(is_file($view))
{
if(is_array($data)) extract($data, EXTR_PREFIX_SAME, 'data');
ob_start();
ob_implicit_flush(false);
require($view);
return ob_get_clean();
}
else die('File <strong>"'.$view.'"</strong> does not exist!');
}
これは、ビュー、サブビュー、またはテンプレートをレンダリングするために Yii (およびおそらく他の多くのフレームワーク) で使用される関数の私自身の非常に単純なバージョンです。アプリの多くの場所で使用しており、ローカルホストでは魅力的に機能します。
誰かがチェックしたい場合は、ここにライブバージョンがあります(そうあるべきです) 。ここでは、ローカルホスト上の私のローカル作業コピーから直接SVNエクスポートされたバージョンを含むzipアーカイブがあり、ここでは夢のように機能します。(問題は解決しました -- 例は削除されました)
純粋な PHP で、または Yii フレームワークを使用して、多くの PHP アプリを開発してきましたが、このような状況は初めてだったので、非常にショックを受け、戸惑いました。これまで、自分のローカルホスト (XAMPP) でエラーなく実行されていたすべてのアプリケーションは、どの Web ホストでも問題なく実行されました。
どんなアイデアや助けも大歓迎です。