私はgodaddyで共有ホスティングを利用しています。
この行でphp.iniファイルのセッション保存パスを変更しようとしましたが、
sessions.save_path = "/session"
sessions.save_path() 関数でセッションの保存パスを制御しました。 /tmp
を変更する前後にphp.ini
を返します
共有ホスティングでセッション保存パスを変更することは可能ですか?
どこがおかしいのですか?
カスタムphp.iniを作成することにより、共有ホスティングのセッション保存パスを変更できます。
これをファイルに含めます:session.save_path = "/path/to/your/folder"
それ以外の場合は、次を使用できます。
ini_set('session.save_path', '/path/to/your/folder')
使用するフォルダはドメイン/アカウントの下にある必要がありますが、Webブラウザからはアクセスできません。また、世界中で書き込み可能な権限が必要です。そして、セッションを使用するすべてのページにその行を含める必要があります。
session.save_path
とsessions.save_path
(名前が変更されているか、何かわからないかもしれませんが、sessions.save_path
私にはうまくいきませんでした)
session.save_path = "/path/to/your/folder"
正常に動作します
session_start()
の前にsession.save_path
を呼び出す必要があることに注意することも重要です
このスレッドの助けを借りて、どのようにセッションを機能させたのですか? IISでPHPを実行しています。
Php.iniでセッションフォルダーを設定します。
session.save_path = "C:/inetpub/temp/php_session"
(このセッションフォルダーが私の環境にとってベストプラクティスであるかどうかはまだわかりません。セキュリティに関しては、これについてさらに読む必要があります。)
セッションパスの設定だけでは不十分でした。最初は、セッション変数を設定する必要がある関数にsession_start()を配置していましたが、パス(sess_d9eeeb305928f2f39a25f296773b09eb)でセッションファイルが作成されたにもかかわらず、PHPページ。 stack\oの誰かがsession_start()を最初の行として置くように言ったので、私はそれを試してみましたが、セッション値は機能しています。どこで破壊すればよいのかわかりません。
<?php
session_start();
...
_C:\session.
_にsessionという名前のフォルダーを作成します
session.save_path();
ディレクトリーを、新しく作成されたパス(_C:\session
_)に変更します(tmp
フォルダー以外の場所)。