Remi’s RPMリポジトリ

Remiセットアップ

※本情報は若干古いですが、更新はあまり意味が無い(バージョン番号が変わるだけ)ので、そのままとします。

リポジトリ名

デフォルト

GPGパス

所属パッケージ

remi

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-remi

remi-release

remi-debuginfo

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-remi

remi-release

remi-php55

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-remi

remi-release

remi-php55-debuginfo

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-remi

remi-release

remi-php56

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-remi

remi-release

remi-php56-debuginfo

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-remi

remi-release

remi-php70

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-remi

remi-release

remi-php70-debuginfo

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-remi

remi-release

remi-php70-test

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-remi

remi-release

remi-php70-test-debuginfo

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-remi

remi-release

remi-safe

有効

/etc/pki/rpm-gpg/RPM-GPG-KEY-remi

remi-release

remi-test

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-remi

remi-release

remi-test-debuginfo

無効

/etc/pki/rpm-gpg/RPM-GPG-KEY-remi

remi-release

CentOS7環境

yum -y install epel-release
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

※すでにEPELをインストール後に再度インストールしようとしても無視されるため、安全のため入れてあります。

CentOS6環境

yum -y install epel-release
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-6.rpm

※すでにEPELをインストール後に再度インストールしようとしても無視されるため、安全のため入れてあります。

CentOS5環境

yum -y install epel-release
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-5.rpm

※すでにEPELをインストール後に再度インストールしようとしても無視されるため、安全のため入れてあります。

CentOS4環境

ドキュメントを見ると存在するようですが、ここに書いた手順通り動くようには見えないので、スルーします。 2012年の更新を最後に、PHP5.3.10を使用したい向きの人は頑張ってください。

remi-phpXX リポジトリのアクティベイト

  :
[remi]
  :
enabled=1
  :

[remi-php55]
  :
enabled=0
  :

[remi-php56]
  :
enabled=1
  :

  :
[remi-php70]
  :
enabled=0
  :

PHPのバージョンを変更したい(5.5 や 7.0 を使用したい)場合は、下記のように別途設定します。 

CentOS7

yum-config-manager --enable remi remi-php70

※yum-config-manager コマンドは yum-utils パッケージのインストールが必要です。

CentOS6

yum-config-manager --enable remi remi-php70

※yum-config-manager コマンドは yum-utils パッケージのインストールが必要です。

CentOS5

/etc/yum.repos.d/remi.repo および /etc/yum.repos.d/remi-php70.repo の当該 enabled 行を変更します。 CentOS5の yum-utils パッケージには yum-config-manager コマンドを提供していません。

アップデート

※何かあったような…。あとで再度検証する。

Remiのインストール例

PHPのインストール

yum -y install php php-opcache php-mbstring

PHPをどう使うかによるので、どういうライブラリが必要になるかについては特に議論しない。 たぶん上記例くらいは当たり前に入れるんでないかな。

PHPの初歩的な設定

/etc/php.ini

メモリ使用量等、デフォルトのリミッターがきつめかもしれないので自らの使用を措定して設定は見直してください。

   1 --- /etc/php.ini.orig   2015-11-26 16:04:08.000000000 +0900
   2 +++ /etc/php.ini        2016-08-16 00:21:14.278592318 +0900
   3 @@ -363,7 +363,7 @@
   4  ; threat in any way, but it makes it possible to determine whether you use PHP
   5  ; on your server or not.
   6  ; http://php.net/expose-php
   7 -expose_php = On
   8 +expose_php = Off
   9 
  10  ;;;;;;;;;;;;;;;;;;;
  11  ; Resource Limits ;
  12 @@ -372,7 +372,7 @@
  13  ; Maximum execution time of each script, in seconds
  14  ; http://php.net/max-execution-time
  15  ; Note: This directive is hardcoded to 0 for the CLI SAPI
  16 -max_execution_time = 30
  17 +max_execution_time = 300
  18 
  19  ; Maximum amount of time each script may spend parsing request data. It's a good
  20  ; idea to limit this time on productions servers in order to eliminate unexpectedly
  21 @@ -382,7 +382,7 @@
  22  ; Development Value: 60 (60 seconds)
  23  ; Production Value: 60 (60 seconds)
  24  ; http://php.net/max-input-time
  25 -max_input_time = 60
  26 +max_input_time = 120
  27 
  28  ; Maximum input variable nesting level
  29  ; http://php.net/max-input-nesting-level
  30 @@ -393,7 +393,7 @@
  31 
  32  ; Maximum amount of memory a script may consume (128MB)
  33  ; http://php.net/memory-limit
  34 -memory_limit = 128M
  35 +memory_limit = 256M
  36 
  37  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  38  ; Error handling and logging ;
  39 @@ -660,7 +660,7 @@
  40  ; Its value may be 0 to disable the limit. It is ignored if POST data reading
  41  ; is disabled through enable_post_data_reading.
  42  ; http://php.net/post-max-size
  43 -post_max_size = 8M
  44 +post_max_size = 32M
  45 
  46  ; Automatically add files before PHP document.
  47  ; http://php.net/auto-prepend-file
  48 @@ -808,10 +808,10 @@
  49 
  50  ; Maximum allowed size for uploaded files.
  51  ; http://php.net/upload-max-filesize
  52 -upload_max_filesize = 2M
  53 +upload_max_filesize = 32M
  54 
  55  ; Maximum number of files that can be uploaded via a single request
  56 -max_file_uploads = 20
  57 +max_file_uploads = 4
  58 
  59  ;;;;;;;;;;;;;;;;;;
  60  ; Fopen wrappers ;

/etc/php.d/timezone.ini

よく出る警告なので必ず設定します。

   1 --- /etc/php.d/timezone.ini.orig    1970-01-01 09:00:00.000000000 +0900
   2 +++ /etc/php.d/timezone.ini 2016-08-15 23:46:00.436613075 +0900
   3 @@ -0,0 +1 @@
   4 +date.timezone = Asia/Tokyo
   5 

一つ忠告があるとすれば「サーバーの提供元はグローバル(UTC)かもしれないけど、 サービスの利用者(エンドユーザーしかり運用者しかり)はローカル時間である」 という点でしょうか。

OSレイヤーから上は利用者のローカル時間を前提としないと極度に混乱します。

/etc/php.d/mbstring.ini

これもどう設定するかは用件によるので、設定例ということで。

   1 --- /etc/php.d/mbstring.ini.orig        1970-01-01 09:00:00.000000000 +0900
   2 +++ /etc/php.d/mbstring.ini     2016-08-15 23:47:21.735872137 +0900
   3 @@ -0,0 +1 @@
   4 +mbstring.language = Japanese
   5 

Remi参考文献

CentOS/YUM Repository/Remi's RPM repository (最終更新日時 2019-05-08 18:42:58 更新者 NorikatsuShigemura)