ホームページ >バックエンド開発 >PHPチュートリアル >サーバー接続が異常であるため、ゲームを終了しようとしています。マルチサーバー セッション共有と NFS 共有を実現するには、PHP メソッドを再入力してください。
PHP はマルチサーバー セッション共有と NFS 共有を実現します
前書きとして、Nio ヒーローはマルチサーバー セッション共有の問題を提起しました。原文については、「PHP は SESSION データのマルチサーバー共有を実現する」を参照してください。
その中の 1 つの方法は、NFS を使用してセッションを共有することです。セッションの量が比較的大きく、すべてのセッション ファイルが同じサブディレクトリにある場合、深刻な負荷の問題が発生し、Web サイトが使用できなくなる可能性があります。この記事では、このプランについて詳しく説明します。
まずphp.iniのsession.save_pathオプションを大まかに以下のように変更します:
session.save_path = "2;/tmp/php_sess"
セッションを「/tmp/php_sess」ディレクトリに保存して分割するという意味ですディレクトリを 2 つのレベルに分け、各サブディレクトリには 16 個のサブディレクトリがあります。
次に、php のメインディレクトリが /usr/local/server/php/ であると仮定して、次の内容の新しいファイル /usr/local/server/php/include/php/ext/session/mod_files.sh を作成します。
#! /bin/sh
# 名前
# mod_files.sh - php-source/ext/session/mod_files.sh の更新
#
# 概要
# mod_files.sh basedir Depth [numberofsubdirs]
#
# DE SCRIPTION
# このスクリプトは、PHP がセッション ファイルを保存するために使用するディレクトリ ツリーを作成します
# (php.ini - 'session.save_path' オプションを参照)
#
# 例: PHP がセッション ファイルをディレクトリに保存する場合ツリー
# 各ディレクトリに 32 のディレクトリを含む 3 レベルの深さ、
# まず、php.ini ファイルに以下の設定を入れます:
#
# session.save_path = "3;/tmp/session"
#
#次に、ベースディレクトリを作成します: 'mkdir/tmp/session'
#
# the? P/Session 3 32
IF TEST "$ 2 " = ""; then
echo "usage: $0 basedir Depth [numberofsubdirs]"
echo "numberofsubdirs: 設定されていない場合、デフォルトは 16 です。32 の場合は 32 のサブディレクトリ、64 の場合は 64 のサブディレクトリです。" 1 2 3 4 5 6 7 8 9 a b c d e f"
if [ ! -z $3 ] ; then
if test " $3" -a "$3" -eq "32"; then
hash_chars="$hash_chars g h i j k l m no p q r s t u v"
if test "$3" -eq "64"; 次に、
hash_chars="$hash_chars w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z - ,"
fi
fi
fi
for i in $ hash_chars
newpath="$1/$i"
mkディレクトリ $newpath | | exit 1
sh $0 $newpath `expr $2 - 1` $3
done
実行可能に設定した後、次のコマンドを実行してハッシュ ディレクトリを作成します:
shell>#cd /usr/local/server/php/include/ php/ext/session/
shell>#./mod_files.sh /tmp/php_sess 2 16
次に、NFS 共有の設定を開始します。 IP アドレス 192.168.0.1 (ホスト名 svr1)、192.168.0.2 (ホスト名 svr2)、および 192.168.0.3 (ホスト名 svr3) を持つ 3 つのホストがあると仮定します。次に、192.168.0.1 が NFS 共有サービスを提供するように、/ を設定します。 etc /exports に次の内容を追加します:
/tmp/php_sess/ svr*(rw,no_root_squash)
その後、nfs サービスを再起動して、他の 2 つのホストに NFS 共有を提供します。
svr2 と svr3 で次のコマンドを実行して NFS をマウントします:
shell>#mkdir /tmp/php_sess
shell>#mount svr1:/tmp/php_sess /tmp/php_sess
最後に、ini を実行して上記の内容を追加/変更します。上記を実行してから、Apacheを再起動します。
上記は、サーバー接続異常を含む、PHP でのゲームの再起動方法を紹介しています。PHP に興味のある方は、ぜひ再起動してください。チュートリアルはそれから学ぶことができます。