'auto-prepend-file'値を使用して、そのディレクトリのすべてのページの前に実行されるPHPスクリプトを設定しようとしています。現在、セッションを破棄して作成してから、セッション変数を設定しています。
しかし、ページからセッション変数にアクセスしようとすると、それらに値がありません。
- この値が.htaccessファイルに設定されないようにすることはできますか?
- php以外のページに対しても呼び出された場合、追加されたスクリプトは実行されますか?
この値が.htaccessファイルに設定されないようにすることはできますか?
.htaccessファイルを使用してセッションCookieを無効にすることは可能ですが、それがあなたの場合の本当の問題ではないかと思います。ファイルが実際に先頭に追加されていることを確認しますか?die('The prepended file was executed.')
ファイルに追加するなど、より直接的なテストを試してください。
php以外のページに対しても呼び出された場合、追加されたスクリプトは実行されますか?
auto_prepend_fileディレクティブは、PHPによって解析されたファイルにのみ適用されます。.phpファイルのみを含むほとんどのサーバー構成。ただし、AddHandlerディレクティブを使用して、Apacheに他のファイルタイプでもPHPを実行させることができます。
たとえば、AddHandlerを使用してPHPコードを含むことができる別のファイルタイプとして.htmlを追加する場合、auto_prepend_fileは.htmlファイルにも適用されます。
私にとってそれを解決することになったのは、Apache構成ファイルに「AllowOverride」ディレクティブを設定することでした。特定のフォルダで.htaccess権限を許可するには、次のようなものが必要です...
# Allow .htaccess settings
<Directory "/absolute/path/to/htaccessfolder">
AllowOverride Options
</Directory>
... httpd.confで、選択したディレクトリからオプション設定を上書きできます。