CentOS 7 MemcachedをPHPと連携して使用する

2021-07-12

MemcachedをPHPで利用する

PHPでMemcachedを利用して高速化します。Memcachedはメモリを使ったキャッシュシステムでサーバーのメインメモリ上にファイルやデータベースの内容を一時保管して高速に読み出せます。特にデータベースからの読み出しが多い場合はそのオブジェクトをキャッシュにしてデータベースの読み出しを減少させる事ができますので、特に、データベースを用いたWebサイトを高速化する事ができます

Memcachedをインストール

MemcachedとPHPと連携してしようするので、まずはPHPをバージョンを確認します

$ php --version
PHP 7.2.27 (cli) (built: Jan 22 2020 09:31:55) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

今回インストールサーバーのPHPのバージョンは「php 7.2」です。下記コマンドで 「php-pecl-memcache」と 「memcached」がyumでインストールできます。PHPのバージョンによってインストールする際に指定するリポジトリは異なりますおで、「remi-php7x」の箇所を変更して下さい。

$ sudo yum install --enablerepo=epel,remi,remi-php72 php-pecl-memcache memcached

Memcachedの設定

Memcachedの設定ファイルは、「/etc/sysconfig/memcached」になります。特に変更する箇所はありませんがMemcachedに接続できるサーバーがローカルサーバのみの場合は、「OPTIONS=""」 から 「OPTIONS="-l 127.0.0.1″」に変更するとローカルホスト(127.0.0.1)のみとなります。また、デフォルトでは「11211」ポートを利用します

$ sudo vim /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1"

php-pecl-memcache設定

PHPとMemcachedと連携するには特に設定は必要ありません。ネットでは「php.ini」に「extension=memcache.so」を追加するとある記事にありますが、php-pecl-memcacheをインストールと「/etc/php.d/40-memcache.ini」が設定されていますので不要かと思います。

下記のコマンドで「memcached.ini」のインストール場所と中身を確認できます

# memcachedの設定ファイルがあるか確認します
$ ls /etc/php.d/ | grep memcache
40-memcached.ini

# 設定ファイルの内容を確認します
$ cat /etc/php.d/40-memcache.ini | grep -v ";" | grep -v ^$
extension=memcache.so

Memcachedの起動及び自動起動

Memcachedの起動及び自動起動する設定を行います

$ sudo systemctl start memcached
$ sudo systemctl enable memcached

 

LinuxApache,CentOS 7,nginx

Posted by admin