ホームページ >バックエンド開発 >PHPチュートリアル >PHP memcached セッションのアプリケーションと構成

PHP memcached セッションのアプリケーションと構成

WBOY
WBOYオリジナル
2016-06-13 13:04:39787ブラウズ

PHP memcached Session
の使用法と構成

この記事 http://bardo.iteye.com/blog/914110 では、PHP memcached のインストール方法について説明しました。 PHP memcached Session の使用にはどのような問題がありますか? 以下に簡単にまとめます:

memcached セッションの最初の大きな利点は、PHP セッションよりも効率的で高速であることです。次に、マルチホストのセッション共有を実現すると便利です
次の方法で memcached セッションを使用します:
php.ini で単一のサイト サーバーを使用できます:
session.save_handler "memcached"
session.save_path? "host1:11211,host2:11211"
? session.save_path のパラメータは、ホスト名とポートをカンマで区切って指定する必要があります。ホスト名には IP アドレスも使用できます。
サーバーは memcached ですが、memcache 拡張機能とは異なり、save_path で通信プロトコルを指定する必要はありません。
サーバーに複数のホストがあり、現在の仮想ホストを構成したい場合は、それを構成できます。 htaccess ファイル。形式は次のとおりです。
php_value session.save_handler "memcached"
php_value session.save_path? "host1:11211,host2:11211"
? php.ini は 1 である必要があります。この値がシステムで 1 でない場合、

.htaccess ファイルに追加します:
php_value session.use_cookies = 1
? .heaccess がエラーを報告する場合は、次の例を参照して変更できます:
# PHP 4、Apache 1 .

?php_value session.save_handler "memcached"

# PHP 4、Apache 2.

? session.save_handler "memcached"

# PHP 5、Apache 1 および 2.

? "

?.htaccess はディレクトリレベルで制御できます。同時に、PHP コードで直接制御する方法もあります:
ini_set("session.save_handler", "memcached");
ini_set("session.save_path", "host1:11211,host2: 11211 ");
ただし、これは PHP の動作モードにも依存します。mod_php モードの場合は .htaccess を変更できますが、
fast_cgi をインストールする場合は、異なる php.ini を管理するために php_fpm が必要です。 mod_fcgid の場合は、FcgidInitialEnv

を使用します。

PHPRC "/dirOfPhiIni" で別の php.ini を設定しますが、新バージョンでは FcgidInitialEnv がコマンドです。ボス・ベンは

です

DefaultInitEnv.バージョンによってはバグがあり、正常にセットアップできない場合があります。 suPHP の場合は、その構成で別の構成を指定する必要もあります

ディレクトリ。

以下は mod_fcgid の設定例です:

#httpd.conf

LoadModule php5_module /php/php5apache2_2.dll
LoadModule fcgid_module modules/mod_fcgid.so
PHPIniDir /php


# 必要なディレクティブはすべて bla bla
# mod_fcgid に対して mod_php と同じ php.ini を使用します
FcgidInitialEnv PHPRC "/php"
🎜>

#httpd-vhost.conf

#using mod_php と /php/php.ini


??? サーバー名 php.example.com
??? >

#using mod_fcgid と /home/user1/php.ini

??? サーバー名 user1.example.com
??? htdocs"
????? FcgidInitialEnv PHPRC "/home/user1"
???? AddHandler fcgid-script .php
??? FcgidWrapper "/php/php-cgi.exe " .php

#using mod_fcgid と /home/user2/php.ini

??? サーバー名 user2.example.com

??? htdocs"
????? FcgidInitialEnv PHPRC "/home/user2"
???? AddHandler fcgid-script .php
????? FcgidWrapper "/php/php-cgi.exe " .php

#mod_fcgid とグローバル php.ini を使用します

??? サーバー名 user3.example.com

??? >????? AddHandler fcgid-script .php

???? FcgidWrapper "/php/php-cgi.exe" .php
どの設定も機能しない場合は、コードを使用して別の方法で処理するしかありません。コード内で使用されている
は、ini_set を直接呼び出す方法と、memcached を使用して自分でセッション クラスを作成し、それを反映する方法です

作成したセッション クラスにセッション関数を挿入します。この例はインターネット上にあるため、詳しく説明する必要はありません。


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