web-dev-qa-db-ja.com

php.iniファイルのsession_save_pathを変更する方法は?

私はgodaddyで共有ホスティングを利用しています。

この行でphp.iniファイルのセッション保存パスを変更しようとしましたが、

sessions.save_path = "/session"

sessions.save_path() 関数でセッションの保存パスを制御しました。 /tmpを変更する前後にphp.iniを返します

共有ホスティングでセッション保存パスを変更することは可能ですか?
どこがおかしいのですか?

15
ocanal

カスタムphp.iniを作成することにより、共有ホスティングのセッション保存パスを変更できます。

これをファイルに含めます:session.save_path = "/path/to/your/folder"

それ以外の場合は、次を使用できます。

ini_set('session.save_path', '/path/to/your/folder')

使用するフォルダはドメイン/アカウントの下にある必要がありますが、Webブラウザからはアクセスできません。また、世界中で書き込み可能な権限が必要です。そして、セッションを使用するすべてのページにその行を含める必要があります。

33
Mughil

session.save_pathsessions.save_path(名前が変更されているか、何かわからないかもしれませんが、sessions.save_path私にはうまくいきませんでした)

session.save_path = "/path/to/your/folder" 

正常に動作します

6
Iburidu

session_start()の前にsession.save_pathを呼び出す必要があることに注意することも重要です

1

このスレッドの助けを借りて、どのようにセッションを機能させたのですか? IISでPHPを実行しています。

Php.iniでセッションフォルダーを設定します。

session.save_path = "C:/inetpub/temp/php_session"

(このセッションフォルダーが私の環境にとってベストプラクティスであるかどうかはまだわかりません。セキュリティに関しては、これについてさらに読む必要があります。)

セッションパスの設定だけでは不十分でした。最初は、セッション変数を設定する必要がある関数にsession_start()を配置していましたが、パス(sess_d9eeeb305928f2f39a25f296773b09eb)でセッションファイルが作成されたにもかかわらず、PHPページ。 stack\oの誰かがsession_start()を最初の行として置くように言ったので、私はそれを試してみましたが、セッション値は機能しています。どこで破壊すればよいのかわかりません。

<?php 
session_start();
...
0
Greg Bologna

_C:\session._にsessionという名前のフォルダーを作成します

session.save_path();ディレクトリーを、新しく作成されたパス(_C:\session_)に変更します(tmpフォルダー以外の場所)。

0