致命的なエラー: session_start(): ストレージ m_PHP 教程の初期化に失敗しました
この記事では、致命的エラー: session_start(): ストレージ モジュールの初期化に失敗しました: ファイルの問題の解決策を紹介します。
元の解決策: 致命的なエラー: session_start(): ストレージ モジュールの初期化に失敗しました: ファイルの問題
以前コンパイルしてインストールした LNMP 環境 + phpmyamdin4.02 バージョンで、今日突然この問題が発生しました:
致命的なエラー: session_start(): ストレージ モジュールの初期化に失敗しました: /data/www/phpmyadmin/libraries/session.inc.php の 83 行目のファイル (パス: )
大まかな意味は、セッションの初期化時にストレージ パスが間違っているということです。最初の反応は、php.ini の設定ファイルを確認することです:
コードは次のとおりです | コードをコピー |
|
デフォルトでは、その前にセミコロンがあります。これは、以前に設定したときにすでに有効になっていることを意味します。では、なぜ依然としてエラーが報告されるのでしょうか? , そこでインターネットでいくつかの情報を探しましたが、どれも同じだと感じました:
1. error.log (Apache2.2logs) ファイルをチェックして、エラー レポートがあるかどうかを確認します。見つかりません。
2. php.ini の session.save_handler の値が files であるかどうかを確認し、そうでない場合は files に変更します
3. php.ini ファイル内で session.save_path がコメント化されているかどうかを確認し、コメント化されている場合は、先頭の「;」を削除します。
4. save_path の後のパスを「D:phptemp」などの既存のパスに変更します。
5. 一時フォルダーの属性が読み取り可能か書き込み可能かを確認します。6. APACHE サーバーを再起動します。わかりました
転載するときにその仲間たちが自分で試したかどうかは知りません(ここでスプレーしますが、私はそれが一番嫌いなので、自分で試すこともせずに広めただけです。私は責任を負いません)全部!)
上記のプロセスによると、トラブルシューティングの結果、まったく解決策がないことが判明しましたが、Puyu のサーバーは Apache ではなく nginx でした。
次に、スクリプト test.php を書きました:
コードをコピー | |||||||||||||
代码如下 | 复制幣 |
[セッション] ;データの保存/取得に使用されるハンドラー。 ; http://php.net/session.save-handler session.save_handler = ファイル; save_handler に渡される引数。 ファイルの場合はパスです ;データファイルが保存される場所。注: Windows ユーザーはこれを変更する必要があります ; PHPのセッション関数を使用するための変数です。 ; ;パスは次のように定義できます: ; ; session.save_path = "N;/パス" ; ;ここで、N は整数です。 すべてのセッションファイルを に保存する代わりに ; /path、これは N レベルの深さのサブディレクトリを使用します、そして ;セッション データをそれらのディレクトリに保存します。 こんな方に便利です ;または、お使いの OS で 1 つのディレクトリに多数のファイルがあることに問題があり、 ;多くのセッションを処理するサーバーのためのより効率的なレイアウト。 ; ;注 1: PHP はこのディレクトリ構造を自動的に作成しません。 ; その目的のために、ext/session ディレクトリ内のスクリプトを使用できます。 ;注 2: 必要に応じて、以下のガベージ コレクションに関するセクションを参照してください ; セッションストレージにはサブディレクトリを使用します ; ;ファイル ストレージ モジュールは、デフォルトでモード 600 を使用してファイルを作成します。 ; を使用して変更できます ; ; session.save_path = "N;MODE;/パス" ; ;ここで、MODE はモードの 8 進数表現です。これに注意してください ;プロセスの umask は上書きされません。 ; http://php.net/session.save-path session.save_path = "/tmp" ; Cookieを使用するかどうか。 ; http://php.net/session.use-cookies session.use_cookies = 1 ; http://php.net/session.cookie-secure ;session.cookie_secure = ;このオプションにより、PHP は保存と維持のために Cookie を取得して使用するようになります ;セッションID。戦闘に非常に役立つため、この作戦を推奨します ;独自のセッション ID を指定および管理しない場合のセッション ハイジャック。それは ;セッションハイジャック防御のすべてが終わりではありませんが、良いスタートです ; http://php.net/session.use-only-cookies session.use_only_cookies = 1 ;セッションの名前 (Cookie 名として使用)。 ; http://php.net/session.name session.name = PHPSESSID ;リクエストの起動時にセッションを初期化します。 ; http://php.net/session.auto-start session.auto_start = 0 ; Cookie の存続期間 (秒単位)、または 0 の場合はブラウザーが再起動されるまでの存続期間。 ; http://php.net/session.cookie-lifetime session.cookie_lifetime = 0 ; Cookie が有効なパス。 ; http://php.net/session.cookie-path session.cookie_path = / ; Cookie が有効なドメイン。 ; http://php.net/session.cookie-domain session.cookie_domain = ; httpOnly フラグを Cookie に追加するかどうか。これにより、JavaScript などのブラウザー スクリプト言語からアクセスできなくなります。 ; http://php.net/session.cookie-httponly session.cookie_httponly = ;データをシリアル化するために使用されるハンドラー。 php は PHP の標準シリアライザーです ; http://php.net/session.serialize-handler session.serialize_handler = php ; 「ガベージコレクション」プロセスが開始される確率を定義します ;セッションの初期化ごとに。確率は を使用して計算されます ; gc_probability/gc_divisor。ここで、session.gc_probability は分子です ; gc_divisor は方程式の分母です。この値を 1 に設定します ; session.gc_divisor の値が 100 の場合、確率は約 1% です ; gc はあらゆるリクエストで実行されます。 ;デフォルト値: 1 ;開発値: 1 ;生産値: 1 ; http://php.net/session.gc-probability session.gc_probability = 1 ; 「ガベージ コレクション」プロセスが毎回開始される確率を定義します ;セッションの初期化。確率は次の式を使用して計算されます: ; gc_probability/gc_divisor。ここで、 session.gc_probability は分子であり、 ; session.gc_divisor は方程式の分母です。この値を 1 に設定します ; session.gc_divisor の値が 100 の場合、確率は約 1% になります ; gc はあらゆるリクエストに対して実行されます。この値を 1000 に増やすと、次のようになります ;与えられたリクエストに対して gc が実行される確率は 0.1% です。大容量実稼働サーバーの場合、 ;これはより効率的なアプローチです。 ;デフォルト値: 100 ;開発値: 1000 ;生産価値: 1000 ; http://php.net/session.gc-divisor session.gc_divisor = 1000 ;この秒数が経過すると、保存されたデータは「ゴミ」とみなされ、 ;ガベージ コレクション プロセスによってクリーンアップされます。 ; http://php.net/session.gc-maxlifetime session.gc_maxlifetime = 1440 ;注意: セッションファイルの保存にサブディレクトリオプションを使用している場合 ; (上記の session.save_path を参照)、ガベージ コレクションは*行われません* ; 自動的に起こります。 ゴミは自分で出す必要があります ; シェル スクリプト、cron エントリ、またはその他の方法を介して収集します。 ; たとえば、次のスクリプトは と同等です。 ; session.gc_maxlifetime を 1440 に設定します (1440 秒 = 24 分): ; /path/to/sessions -cmin +24 を見つけます | xargs rm ; PHP 4.2 以前には、次のことを可能にする文書化されていない機能/バグがあります ; register_globals の場合でも、グローバル スコープでセッション変数を初期化します。 ;無効になっています。 PHP 4.3 以降では、この機能が使用されている場合に警告が表示されます。 ;機能と警告を個別に無効にすることができます。このとき、 ;この警告は、bug_compat_42 が有効になっている場合にのみ表示されます。この機能 ;正しく処理しないと、重大なセキュリティ上の問題が発生します。それは ;運用サーバーではこの機能を使用しないことをお勧めします。でもあなた ;開発サーバーでこれを有効にし、警告も有効にする必要があります。あなたなら ;開発サーバーではこの機能を有効にしないでください。有効になっても警告は表示されません ;使用されており、これによって発生するデバッグ エラーを追跡するのは困難な場合があります。 ;デフォルト値: オン ;開発値: オン ;生産価値: オフ ; http://php.net/session.bug-compat-42 session.bug_compat_42 = オフ ;この設定は、 を初期化するときに PHP によって警告されるかどうかを制御します。 ;セッション値をグローバル空間にコピーします。 session.bug_compat_42 を事前に有効にする必要があります ;これらの警告は PHP によって発行できます。詳細については、上記のディレクティブを参照してください。 ;デフォルト値: オン ;開発値: オン ;生産価値: オフ ; http://php.net/session.bug-compat-warn session.bug_compat_warn = オフ ; HTTP リファラーをチェックして、ID を含む外部に保存された URL を無効にします。 ;セッションが成立するには、HTTP_REFERER にこの部分文字列が含まれている必要があります ;有効とみなされます。 ; http://php.net/session.referer-check session.referer_check = ;ファイルから読み取るバイト数 ; http://php.net/session.entropy-length session.entropy_length = 0 ;セッションIDを作成するためにここで指定します。 ; http://php.net/session.entropy-file ; /dev/urandom がないシステムでは /dev/arandom を使用できます ; Windows では、entropy_length 設定を設定すると、 ; Windows ランダム ソース (CryptoAPI を使用) ;session.entropy_file = /dev/urandom ; HTTP キャッシュの側面を決定するには、{nocache,private,public,} に設定します ;または、アンチキャッシング ヘッダーの送信を避けるために、これを空のままにしておきます。 ; http://php.net/session.cache-limiter session.cache_limiter = キャッシュなし ;ドキュメントは n 分後に期限切れになります。 ; http://php.net/session.cache-expire session.cache_expire = 180 ; trans SID サポートはデフォルトでは無効になっています。 ; trans sid を使用すると、ユーザーのセキュリティが危険にさらされる可能性があります。 ;このオプションは注意して使用してください。 ; - ユーザーはアクティブなセッション ID を含む URL を送信できます ; 経由で他の人に。メール/IRC/など ; - アクティブなセッションIDを含むURLが保存される可能性があります ; 公的にアクセス可能なコンピューター内。 ; - ユーザーは同じセッション ID を使用してサイトにアクセスできます ; ブラウザの履歴やブックマークに保存されている URL を常に使用します。 ; http://php.net/session.use-trans-sid session.use_trans_sid = 0 ;セッション ID の生成に使用するハッシュ関数を選択します。 ;可能な値 ; 0 (MD5 128 ビット) ; 1 (SHA-1 160 ビット) ;このオプションは、 でサポートされているハッシュ関数の名前に設定することもできます。 ;ハッシュ拡張子。利用可能なハッシュのリストは hash_algos() によって返されます ;機能 ; http://php.net/session.hash-function session.hash_function = 0 ;変換時に各文字に格納されるビット数を定義します ;バイナリ ハッシュ データを読み取り可能なものに変換します。 ;可能な値: ; 4 (4 ビット: 0 ~ 9、a ~ f) ; 5 (5 ビット: 0-9、a-v) ; 6 (6 ビット: 0 ~ 9、a ~ z、A ~ Z、「-」、「,」) ;デフォルト値: 4 ;開発値: 5 ;生産価値: 5 ; http://php.net/session.hash-bits-per-character session.hash_bits_per_character = 5 ; URL リライターは、定義された HTML タグのセットで URL を検索します。 ;フォーム/フィールドセットは特別です。ここにそれらを含めると、リライターは ;非表示の を追加します。それ以外の場合は追加される情報を含むフィールド ; URLに。 XHTML に準拠したい場合は、フォームのエントリを削除してください。 ;たとえ値が後に続かなくても、すべての有効なエントリには「=」が必要であることに注意してください。 ;デフォルト値: "a=href,area=href,frame=src,form=,fieldset=" ;開発値: "a=href,area=href,frame=src,input=src,form=fakeentry" ;プロダクション値: "a=href,area=href,frame=src,input=src,form=fakeentry" ; http://php.net/url-rewriter.tags url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" |
これは 1 台の VPS 上に配置されているため、上には複数の項目があり、1 つの項目が璞玉で打たれたため、この項目を公開します
目的認証機能はOKです。
以下は次の通りです:
复制幣 | |
$sessSavePath = "/data/sessions/"; |
前述のこのコードは、session_start() の初期化の前にセッション会議が存在するかどうかを判断するためのファイルです。
これより、phpmyadmin エリアに保存されている文章/phpmyadmin/libraries/session.inc.php做了下修正:
复制幣 | |
if (! isset($_COOKIE[$session_name])) {
// セッションの最初の開始時にエラーをチェックします |

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











win10でゲームを開くときに致命的なエラーが発生した場合はどうすればよいですか?ソフトウェアまたはゲームの実行中に致命的なエラー メッセージが表示された場合はどうすればよいですか?このサイトでは、Win10でゲームを開くときに致命的なエラーが発生した場合の対処方法をユーザーに丁寧に紹介します。 win10でゲームを開くときに致命的なエラーが発生した場合はどうすればよいですか?方法 1: ファイルの破損やクラック パッチの使用など、ゲーム クライアントに問題があり、致命的なエラーが発生する場合は、ゲームを再ダウンロードできます。方法 2: コンピューターのメモリが小さすぎると、致命的なエラーが発生する可能性があります。物理メモリが十分な場合は、システムの仮想メモリを設定してみてください。

PHP は、長い間使用されている人気のある Web 開発言語です。 PHP に統合された PDO (PHP Data Object) クラスは、Web アプリケーションの開発中にデータベースと対話する一般的な方法です。ただし、一部の PHP 開発者がよく遭遇する問題は、PDO クラスを使用してデータベースと対話するときに、次のようなエラーが表示されることです。

C++ コードの「error:incompletetypeisnotallowed」問題を解決します。C++ プログラミング プロセス中に、コンパイル エラーが発生することがあります。一般的なエラーの 1 つは、「error:incompletetypeisnotallowed」です。このエラーは通常、不完全な型を操作することによって発生します。この記事では、このエラーの原因を説明し、いくつかの解決策を提供します。まず、私は

Vue アプリケーションで axios を使用するのは非常に一般的です。axios は、ブラウザーと Node.js で使用できる Promise ベースの HTTP クライアントです。開発プロセス中に、「Uncaught(inpromise)Error: Requestfailedwithstatuscode500」というエラー メッセージが表示されることがありますが、開発者にとって、このエラー メッセージは理解および解決が難しい場合があります。この記事ではこれについて説明します

ファイナルファンタジー 7 をプレイしていると、多くのプレイヤーが致命的なエラーの問題に遭遇し、その解決方法がわかりません。通常、メモリが読み取れないという問題が発生します。この問題を解決するには、ゲームを再インストールすることをお勧めします。ファイナルファンタジー 7 の致命的エラーの解決方法 1. ゲームを再インストールします ファイルの破損、不完全さ、一部のクラック パッチの使用などのゲーム クライアントの問題は致命的なエラーにつながる可能性があるため、ゲームを再インストールすることをお勧めします。 2. すべてのファイルの読み取り専用プロパティを削除します。一部のファイル プロパティは読み取り専用であってはなりませんが、読み取り専用に設定されています。すべてのファイルの読み取り専用プロパティを削除するだけです。たとえば、ゲームがプレイできない場合は、ゲーム上で右クリックしてフォルダをインストールし、読み取り専用属性を解除してください。 3. 仮想メモリの設定は、メモリが少なすぎることが原因である可能性があります。物理メモリが十分な場合は、

C++ コードの「error:expectedinitializerbefore'datatype'」問題を解決します。C++ プログラミングでは、コードを作成するときにコンパイル エラーが発生することがあります。一般的なエラーの 1 つは、「error:expectedinitializerbefore'datatype'」です。このエラーは通常、変数宣言または関数定義で発生し、プログラムが正しくコンパイルされなかったり、

セッション障害は通常、セッションの有効期間の期限切れまたはサーバーのシャットダウンによって発生します。解決策: 1. セッションの有効期間を延長する; 2. 永続ストレージを使用する; 3. Cookie を使用する; 4. セッションを非同期的に更新する; 5. セッション管理ミドルウェアを使用する。

PHPSession のクロスドメイン問題の解決策 フロントエンドとバックエンドの分離の開発では、クロスドメイン要求が標準になっています。クロスドメインの問題に対処するときは、通常、セッションの使用と管理が必要になります。ただし、ブラウザーのオリジンポリシーの制限により、デフォルトではセッションをドメイン間で共有できません。この問題を解決するには、いくつかの技術と方法を使用して、セッションのクロスドメイン共有を実現する必要があります。 1. ドメイン間でセッションを共有するための Cookie の最も一般的な使用法
