PHPカスタムセッション保存ディレクトリ

PHP中文网
リリース: 2016-06-24 12:22:55
オリジナル
958 人が閲覧しました

今日、顧客の Web サイトから大量のエラー メッセージが突然報告されました。プロンプト コードは次のとおりです。

警告: session_start() [function.session-start]: open(/var/lib/php/session/sess_0dj5ol1fp235a0scu79s8c33t1, O_RDWR)。 ) 失敗しました: /home/wethost/wwwroot/include/seccode.inc.php の 7 行目で権限が拒否されました (13)

警告: 不明: open(/var/lib/php/session/sess_0dj5ol1fp235a0scu79s8c33t1, O_RDWR) 失敗しました: 権限拒否 (13) (行 0 の不明)

警告: 不明: セッション データ (ファイル) の書き込みに失敗しました。 session.save_path の現在の設定 (/var/lib/php/session) が行 0 の不明で正しいことを確認してください。 0

上記 プロンプトの一般的な意味は、SESSION ディレクトリ内のファイルを読み取る権限がないことです。これは、仮想ホスト プロバイダーの構成サーバーに加えられた変更が原因であると考えられます。トラブルを避けるため、今回はセッションファイルの保存ディレクトリをPHPで直接設定します。

次のコードをphpコードに追加します。これはsession_start()の前に追加する必要があります。

ini_set('session.save_path', dirname(__FILE__).'/Alixixi/');

または:

session_save_path(dirname(__FILE__).'/Alixixi/');

上記は生成しますWeb サイト セッション ファイルは、Web サイトの現在のルート ディレクトリの Alixixi ディレクトリに保存されます。

すべての構成パラメーターをスクリプトで設定できるわけではないことに注意してください。これはパラメーターのスコープに関連しています。

以下は、PHP を参照する設定パラメーターのスコープの説明です

PHP_INI_PERDIR: ディレクティブは php.ini、httpd.conf、または .htaccess ファイルで変更できます。

PHP_INI_SYSTEM: ディレクティブは php.ini で変更できます。および httpd.conf ;

PHP_INI_USER: ディレクティブはユーザー スクリプト内で変更できます;

PHP_INI_ALL: ディレクティブはどこでも変更できます

したがって、スクリプト内で設定できるのは PHP_INI_USER および PHP_INI_ALL スコープ内のパラメーターのみです。 。パラメータの特定の範囲はネットワーク上で取得できます。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!