セッション
PHP 4.0.0 の session.save_path のバグ
著者/出典: limodou
PHP 4.0.0 の session.save_path のバグ
著者: limodou
ここで、私が見つけたバグを報告したいと思います。バージョン 4.0.0 、Windows バージョンのみ。つまり、バージョン 4.0.0 では、
session.save_path が絶対ディレクトリを使用している場合、つまりドライブ文字が追加されている場合、そのドライブ文字は機能しません。たとえば、session.save_path は
c: emp に設定されており、この時点では c: emp ディレクトリが存在します。ただし、php プログラム ファイルが f ディスクなどの別のディスクにある場合、c: は機能しません。代わりに、セッションの処理時に f ドライブ上の emp ディレクトリを検索します。ディスク f に emp ディレクトリがない場合は、次のエラーが報告されます:
警告: open( emp/sess_0beef27320944002381aa93c9ec0968d, O_RDWR) 失敗しました: m (2)
in f: esta.php3 on line 2
警告: open ( emp/ sess_0beef27320944002381aa93c9ec0968d, O_RDWR) 失敗しました: m (2)
in Unknown on line 0
警告:
session.save_path の現在の設定が正しいことを確認してください (c: emp)。 0行目
fドライブに一時ディレクトリを作成するとエラーは消えます。ソースプログラムを確認してみると、とても手間がかかりそうなプログラムでしたが、見つかりませんでした。私が見ていたのはバージョン 4.0.1pl2 のソース コードであることがわかりました。そこで、PHP をバージョン 4.0.1pl2 にアップグレードして再度実行すると、エラーは消えました。バージョン 4.0.1pl2 ではこのエラーが修正されているようです。
バージョン 4.0.1pl2 をインストールすることをお勧めします。
session.save_path を同時に設定する場合、ディレクトリ区切り文字は「/」または「」にすることができます。