ホームページ >バックエンド開発 >PHPの問題 >PHPセッションが不安定な場合の対処方法

PHPセッションが不安定な場合の対処方法

藏色散人
藏色散人オリジナル
2020-08-24 09:57:072511ブラウズ

不安定な PHP セッションの解決策: 最初に構成ファイルで sessionState ノードを設定し、次にクラスをシリアル化可能なクラスに設定し、最後に「asp.net 状態サービス」を開始します。

PHPセッションが不安定な場合の対処方法

推奨: 「PHP ビデオ チュートリアル

セッションが不安定になる問題の解決策

会社のシステムでは、いつも突然セッションが切れてしまうことがありました。昨日何か方法を考えたのですがうまくいきませんでした。今朝、情報を検索して解決しました。

昨日、ユーザーのログイン情報を保存する新しいデータ テーブルを作成したいと思いました。しかし、ユーザーをマークするときに IP を使用してマークしたいのですが、IP が異なる場合があるため、現実的ではないと思います。外部ネットワークのアドレスも同様なのでMACアドレスで解決したかったのですが、sendarpで指定したIPのMACを取得できますが、これはLANのみの対応でLAN以外では実装できないので、これをアイデアは破産宣告される。クライアント側のjsで取得してサーバーに送信するのなら別ですが、クライアントCookieがないと毎回確認するのが面倒だと考えて断念しました。

今日、インターネットで sessionState ノードを構成ファイルに設定できることを発見しました。

   <sessionState mode="Off|InProc|StateServer|SQLServer"
              cookieless="true|false"
              timeout="number of minutes"
              stateConnectionString="tcpip=server:port"
              sqlConnectionString="sql connection string"
              stateNetworkTimeout="number of seconds"/>

必須の属性は

属性      选项             描述 
mode                       设置将Session信息存储到哪里 
            Off              设置为不使用Session功能 
            InProc          设置为将Session存储在进程内,就是ASP中的存储方式,这是默认值。 
            StateServer  设置为将Session存储在独立的状态服务中。 
            SQLServer    设置将Session存储在SQL Server中。

です。 オプションの属性は次のとおりです。

属性             选项                             描述 
cookieless                                        设置客户端的Session信息存储到哪里 
                   ture                             使用Cookieless模式 
                   false                             使用Cookie模式,这是默认值。 
                   timeout                        设置经过多少分钟后服务器自动放弃Session信息。默认为20分钟 
                   stateConnectionString    设置将Session信息存储在状态服务中时使用的服务器名称和端口号,例如:"tcpip=127.0.0.1:42424”。当mode的值是StateServer是,这个属性是必需的。 
        sqlConnectionString        设置与SQL Server连接时的连接字符串。例如"data source=localhost;Integrated Security=SSPI;Initial Catalog=northwind"。当mode的值是SQLServer时,这个属性是必需的。 
        stateNetworkTimeout    设置当使用StateServer模式存储Session状态时,经过多少秒空闲后,断开Web服务器与存储状态信息的服务器的TCP/IP连接的。默认值是10秒钟。

次に、asp.net 状態サービスを開始します。

クラスをシリアル化可能なクラスとして設定する場合は注意してください。セッションに追加することができます。

えー

以上がPHPセッションが不安定な場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。