わかりました、これは少しクレイジーに聞こえるかもしれませんが、ここで 1 分間我慢してください。
私は、SSI を使用してページ ヘッダー、フッター、およびメニューを含めることが標準であるサイトに取り組んでいます。インクルードされたファイルは、SSI 条件を使用してさまざまなブラウザーを処理し、一部の #include ネストと、一部の #set / #if トリックを使用してメニュー内の現在のページを強調表示します。つまり、SSI の #include ディレクティブ以上のものです。
美学に異議を唱える人もいると思いますが、静的 HTML の場合、実際には非常にうまく機能します。
ここで、問題: PHP スクリプトから同じ SSI 解析済みのヘッダーとフッターの html ファイルを「#include」することで、コードの重複を回避し、サイトの統一された外観を維持したいと考えています。PHP が通常の mod_php 環境で実行されている場合は、PHP の virtual() 関数を使用してそれを行うことができます。残念ながら、このサイトでは FastCGI/suexec を使用して PHP を実行しているため (各 VirtualHost が別のユーザーとして実行できるようになっています)、これにより virtual() が壊れます。
私は PHP で書いたかなり単純な SSI パーサーを使用してきました (#include といくつかの非常に単純な #if ステートメントを処理します) が、より一般的なソリューションが必要です。では、私が夢中になり、おそらくバグのある、より完全な SSI パーサーを作成する前に、PHP で作成された完全な SSI パーサーを知っている人はいますか? 当然のことながら、私が概説した制約の下で機能する他のソリューションにもオープンです。
お時間をいただきありがとうございます。