Ubuntu 10.10でApache/PHPをインストールしたときのセッションファイルのデフォルトの場所は何ですか?Apache/PHPでのセッションファイルの場所
答えて
デフォルトsession.save_path
は、お使いのシステムの一時ディレクトリに評価される""
に設定されています。 https://bugs.php.net/bug.php?id=26757でこのコメントを述べてください:
今後のreleaess(原文のまま)でsave_pathの新しいデフォルトの一時ディレクトリを精査することになり、空の文字列になります。
あなたはパス保存現在セッションを見つけるにはsys_get_temp_dir
to return the directory path used for temporary files
を使用することができ、あなたはどのような一時パスを見つけるためにthis answerを参照してください
を使用することができますこの関数が空文字列を返すときです。 /tmp/
以外
そしてコマンドラインからphp -r 'echo session_save_path()、 "\ n"; " –
場所は設定されていますが、Ubuntu 10.10では「デフォルト」ではありません。きれいなPHPビルドがこれを提供するかもしれませんが、私が使用したDebian/Ubuntuビルドではありません。元の質問はUbuntu 10.10に関するものです。だから、使用されるLinuxディストリビューションに応じて、場所が 'デフォルト' /空白/ tmpと異なる可能性があるので、最後のコメント(または私の答え)ごとにコマンドラインで調べてください。 – bshea
私はその/ tmp /を信じています。あなたのphpinfo関数をチェックしてください、それはどこかにsession.save_pathを言う必要があります。
PHPドキュメントでは "/ tmp"がデフォルトであると言われていますが、私が試したすべてのLinuxディストリビューションはセッションファイルを '/ tmp ' - あなたはそれが何かを知っていますか?ソースからPHPをビルドした場合はそうですか? "session.save_path"が空の場合は、ファイルがどこに行くのか分かりにくいかもしれません(したがって、この疑問は私にはあります) – Rich
実行しているサーバーのタイプによって異なります。ディレクトリを見つけるには、php.iniファイルで次のものを探します。
upload_tmp_dir = "C:/ WAMPを/ tmp"
ディレクトリはあなたのために異なる場合があります。
質問はセッションファイルであり、アップロードされたファイルではありませんでした – Rich
他の一般的なデフォルトの場所は/var/lib/php5/
/var/lib/php5 /は決して書き込み可能ではありませんchmodding/chowningが必要です。 PHPがデフォルトで書き込み可能なセッションの場所を設定するべきではありませんか? – CMCDragonkai
私はそれが他の人々が人々のセッションをハイジャックしようとすることができない共有ホスト上にあると思います。つまり、「username:admin」というセッションに書き込み、任意のセッションIDを設定してPHPSESSIDに設定します。共有ホスト環境でDrupalやWordpressのようなものにアクセスするのは非常に簡単でした。 – Mattisdada
まずあるini_get('session.save_path')
またはphpinfo()
を使用してsession.save_path
の値を確認します。空でない場合は、セッションファイルが保存されている場所が表示されます。多くのシナリオではデフォルトでは空ですが、その場合は次のようになります。
UbuntuまたはDebianマシンでは、session.save_path
が設定されていない場合、セッションファイルは/var/lib/php5
に保存されます。 session.save_path
が設定されていない場合、セッションファイルは/var/lib/php/session
に保存されます
RHELやCentOSのシステムでは、私はあなたがソースからPHPをコンパイルする場合session.save_path
が設定されていない場合、その後、セッションファイルが保存されることを考えます/tmp
(これは私自身もテストしていません)。
私はUbuntu 12.04.5 LTSを使用しています。何らかの理由で(私は 'php.ini'で何も変更していませんでした)私のセッションは'/var/lib/php5/sessions' –
「設定されていません」?それは設定されていますが、php.iniでコメントアウトされています。これは、値を持たない、あるいは '設定されていません'という意味ではありません。コマンドラインから 'php -i | grep session.save_path'(これはおそらくApache)のセッション保存パスです。また、指定された 'php.ini'は、通常は 'default'パスを表示します。これはコメントアウトされています。 – bshea
はい:デフォルトのパスとしてコンパイルされたものがない場合(ほとんどのディストリビューションではそうではありません)、ブランクが使用されます(デフォルトのコンパイル)。これは、フォールバック/デフォルト値としてシステムの一時領域(通常は '/ tmp')を使用します。 http://php.net/manual/en/session.configuration.php#ini.session.save-path – bshea
Macでセッションの正しいパスを見つけるのと同じ問題がありました。私は、CLI PHPがApacheモジュールとは異なる一時ディレクトリを持っていることを知りました。つまり、Apacheは/var/tmp
を使用し、CLIは/var/folders/kf/hk_dyn7s2z9bh7y_j59cmb3m0000gn/T
のようなものを使用していました。しかし、両方の方法、sys_get_temp_dir()
はsession.save_path
が空のとき私に正しい道を与えました。 PHP 5.5.4の使用。
コンパイルされたデフォルトが不明な場合は、phpを参照してください。Apache用のiniファイル:
のUbuntu/Debianの現在の場所:
古いPHP5のインストール:/etc/php5/apache2/php.ini
Ubuntuの16.XXおよび/またはPHP5またはPHP7:/etc/php/*/apache2/php.ini
通常、これはコメントアウトデフォルト値が表示されます。
または:
php -r 'echo session_save_path() . "\n";'
または:
php -i | grep session.save_path
又はコマンドラインから
php -r 'echo phpinfo();' | grep session.save_path
。 php.iniのの「CLI」/コマンドライン版
ノート・
は限りパスのデフォルト設定を保存すると、Apacheのバージョンと同じ通常です。同様のコマンドを使用してApache設定をwget/curlコマンドまたはWebページにエコーすることもできます。しかし、Apache php.iniでgrepするほうがはるかに簡単です。
EDIT:Per @aesede comment - >php -i
を追加しました。ありがとう
ちょうど、CLIで 'php -i'を実行するとphpinfo()を同等にすることができます。 – aesede
- 1. PHPセッションファイルのデッドロック
- 2. セッションファイルが
- 3. HDD上の古いPHPセッションファイル
- 4. キャッシュ/ frontend/prod/testのセッションファイル
- 5. 場所または場所のデータベース
- 6. Facebookのチェックイン用の場所/場所は何ですか?
- 7. perlでのファイルの場所
- 8. Symfony2でのテンプレートレンダリングの場所
- 9. @classmethodの場所
- 10. 別の場所
- 11. ウィンドウスタートアップリソースディクショナリの場所
- 12. データベースの場所?
- 13. オクターブヘッダファイルの場所
- 14. アタッチメントファイルの場所
- 15. シミュレーションバイナリファイルの場所
- 16. コンテキストメニューの場所
- 17. アイコンコンポーザーの場所
- 18. プロパティの場所
- 19. symchkの場所
- 20. プライマリキーの場所
- 21. org.jboss.deployers.spi.management.deploy.DeploymentManagerの場所です。
- 22. 現在の場所で
- 23. Androidの場所のマネージャー、何のGPSは、[ネットワークプロバイダの場所に
- 24. Googleの場所で「Bloodbanks」のような場所を検索できません。
- 25. TileListアイテムの場所
- 26. Android GPSの場所
- 27. Javaのマウス場所
- 28. CSSシャドーオポジションの場所
- 29. OpenDs dbの場所
- 30. railsファイルの場所
'<?php phpinfo()?>'でページを作成し、 'session.save_path'を探します。 – prodigitalson
通常は/ tmp(IIRC)ですが、session.save_pathのphp.iniを確認してください –