ヘルプ:PHP7.4でAPCu+OPcacheを使う(AlmaLinux)

提供:あわ自由帳

メインページ > ヘルプ:目次 > ヘルプ:自宅サーバー構築(AlmaLinux)  > PHP7.4でAPCu+OPcacheを使う(AlmaLinux)

PHPは5.5以降、APCからZend OPcache+APCuに変わりました。 APCはインストールしてiniファイルを編集したりするだけでopecode cacheとdata cacheを勝手に上手い具合にやってくれましたが、APCuは自分で使うようなスクリプトを書かなければなりません。

  • テスト用自宅サーバーで、動作確認しています。導入される方は自己責任で行ってください。
  • dnf用リポジトリ追加(CentOS8)を導入済みとします。

インストール

PHP7.4をdnfで入れていれば、おそらくAPCuとOPcacheもあるはずです。

[root@host4 ~]# dnf install php-pecl-apcu php-opcache

設定

APCu のメモリ使用量

[root@host4 ~]# vi /etc/php.d/40-apcu.ini
## APCuの最大メモリ使用量を32MB → 16MB
;apc.shm_size=32M

apc.shm_size=16M

OPcache メモリ使用量

[root@host4 ~]# vi /etc/php.d/10-opcache.ini

; The OPcache shared memory storage size.
## OPcacheの最大メモリ使用量を128MB → 256MB
opcache.memory_consumption=128

opcache.memory_consumption=256

アクセス制限

ローカルからのみアクセス出来るように設定する。

[root@host4 ~]# vi /etc/httpd/conf.d/apc.conf

<Directory /var/www/html/sudachi.jp/apc>
   Order Deny,Allow
   Deny from all
   Allow from 127.0.0.1 192.168.1.0/24
</Directory>

[root@host4 ~]# vi /etc/httpd/conf.d/opcache-status.conf

<Directory /var/www/html/sudachi.jp/opcache-status>
   Order Deny,Allow
   Deny from all
   Allow from 127.0.0.1 192.168.1.0/24
</Directory>

php-fpmの再起動

[root@host4 ~]# systemctl restart php-fpm

Webサーバー再起動

[root@host4 ~]# systemctl restart httpd

Webサーバーステータス

[root@host4 ~]# systemctl status httpd
 httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-10-03 09:25:17 JST; 24s ago
     Docs: man:httpd.service(8)
 Main PID: 6509 (httpd)
   Status: "Running, listening on: port 80"
    Tasks: 213 (limit: 26213)
   Memory: 43.1M
   CGroup: /system.slice/httpd.service
           tq6509 /usr/sbin/httpd -DFOREGROUND
           tq6510 /usr/sbin/httpd -DFOREGROUND
           tq6511 /usr/sbin/httpd -DFOREGROUND
           tq6512 /usr/sbin/httpd -DFOREGROUND
           mq6513 /usr/sbin/httpd -DFOREGROUND

10月 03 09:25:17 host2.sudachi.jp systemd[1]: Starting The Apache HTTP Server...
10月 03 09:25:17 host2.sudachi.jp systemd[1]: Started The Apache HTTP Server.
10月 03 09:25:17 host2.sudachi.jp httpd[3143278]: Server configured, listening on: port 443, port 80