Contents
はじめに
CentOS6系の標準リポジトリのPHPバージョンは5.3、
CentOS7系の標準リポジトリのPHPバージョンは5.4です。
それ以外のバージョンを使用したい場合は、リポジトリを追加してのインストール作業が必要になります。
今回は、PHP5.6のインストール手順について記載します。
(※2017-01-12現在の情報です)
リポジトリの確認
1 2 3 |
# rpm -qa | grep epel # # rpm -qa | grep remi |
※既に最新が入っている場合あります(今回は入っていないので入れます)。
yumリポジトリ追加
CentOSでちょっと新しめのパッケージを入れる際にかなりの確率でお世話になるepelとremiのリポジトリ
EPELとRemiリポジトリを追加します。
これらのリポジトリを追加する場合は、以下のコマンドを実行します
epel
1 2 3 4 |
# yum install -y epel-release # sed -i.bk '/[epel]/,/^enabled/s/enabled=1/enabled=0/' /etc/yum.repos.d/epel.repo ※ yum実行時に「enablerepo=epel」を付けないと有効にならない |
remi
1 2 |
# rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi # rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm |
epelのインストール
1 2 3 4 5 |
# yum install -y epel-release インストール: epel-release.noarch 0:7-6 完了しました! |
epelの設定(基本:enabled)
1 2 3 |
# sed -i.bk '/[epel]/,/^enabled/s/enabled=1/enabled=0/' /etc/yum.repos.d/epel.repo # ※ yum実行時に「enablerepo=epel」を付けないと有効にされない |
remiのインストール
1 2 3 4 5 6 7 |
# rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi http://rpms.famillecollet.com/enterprise/remi-release-7.rpm を取得中 準備しています... ################################# [100%] # rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm 更新中 / インストール中... 1:remi-release-7.2-1.el7.remi ################################# [100%]) |
リポジトリの確認
1 2 3 4 5 6 |
# rpm -qa | grep epel epel-release-7-6.noarch # # rpm -qa | grep remi remi-release-7.2-1.el7.remi.noarch # |
PHPインストール
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# yum -y install --enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-gd インストール: php.x86_64 0:5.6.29-1.el7.remi php-devel.x86_64 0:5.6.29-1.el7.remi php-gd.x86_64 0:5.6.29-1.el7.remi php-mbstring.x86_64 0:5.6.29-1.el7.remi php-pdo.x86_64 0:5.6.29-1.el7.remi 依存性関連をインストールしました: gd-last.x86_64 0:2.2.3-1.el7.remi libzip-last.x86_64 0:1.1.3-1.el7.remi pcre-devel.x86_64 0:8.32-15.el7_2.1 php-cli.x86_64 0:5.6.29-1.el7.remi php-common.x86_64 0:5.6.29-1.el7.remi php-pecl-jsonc.x86_64 0:1.3.10-1.el7.remi.5.6 php-pecl-jsonc-devel.x86_64 0:1.3.10-1.el7.remi.5.6 php-pecl-zip.x86_64 0:1.13.5-1.el7.remi.5.6 t1lib.x86_64 0:5.1.2-14.el7 完了しました! |
インストール結果確認
1 2 3 4 5 6 7 8 9 10 11 12 |
# rpm -qa | grep php php-pecl-jsonc-devel-1.3.10-1.el7.remi.5.6.x86_64 php-pecl-zip-1.13.5-1.el7.remi.5.6.x86_64 php-cli-5.6.29-1.el7.remi.x86_64 php-gd-5.6.29-1.el7.remi.x86_64 php-pecl-jsonc-1.3.10-1.el7.remi.5.6.x86_64 php-devel-5.6.29-1.el7.remi.x86_64 php-pdo-5.6.29-1.el7.remi.x86_64 php-common-5.6.29-1.el7.remi.x86_64 php-mbstring-5.6.29-1.el7.remi.x86_64 php-5.6.29-1.el7.remi.x86_64 # |
PHPバージョンを確認
1 2 3 4 5 |
# php --version PHP 5.6.29 (cli) (built: Dec 8 2016 08:42:35) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies # |
php.iniを編集
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# vi /etc/php.ini 1 [PHP] 2 3 ;;;;;;;;;;;;;;;;;;; 4 ; About php.ini ; 5 ;;;;;;;;;;;;;;;;;;; ~ 878 ;;;;;;;;;;;;;;;;;;; 879 ; Module Settings ; 880 ;;;;;;;;;;;;;;;;;;; 881 882 [CLI Server] 883 ; Whether the CLI web server uses ANSI color coding in its terminal output. 884 cli_server.color = On 885 886 [Date] 887 ; Defines the default timezone used by the date functions 888 ; http://php.net/date.timezone 889 date.timezone = "Asia/Tokyo" 890 1656 [mbstring] 1657 ; language for internal character representation. 1658 ; This affects mb_send_mail() and mbstrig.detect_order. 1659 ; http://php.net/mbstring.language 1660 mbstring.language = Japanese 1661 1662 ; Use of this INI entry is deprecated, use global internal_encoding instead. 1663 ; internal/script encoding. 1664 ; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) 1665 ; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. 1666 ; The precedence is: default_charset < internal_encoding < iconv.internal_encoding 1667 mbstring.internal_encoding = UTF-8 1668 1669 ; Use of this INI entry is deprecated, use global input_encoding instead. 1670 ; http input encoding. 1671 ; mbstring.encoding_traslation = On is needed to use this setting. 1672 ; If empty, default_charset or input_encoding or mbstring.input is used. 1673 ; The precedence is: default_charset < intput_encoding < mbsting.http_input 1674 ; http://php.net/mbstring.http-input 1675 mbstring.http_input = UTF-8 1676 1677 ; Use of this INI entry is deprecated, use global output_encoding instead. 1678 ; http output encoding. 1679 ; mb_output_handler must be registered as output buffer to function. 1680 ; If empty, default_charset or output_encoding or mbstring.http_output is used. 1681 ; The precedence is: default_charset < output_encoding < mbstring.http_output 1682 ; To use an output encoding conversion, mbstring's output handler must be set 1683 ; otherwise output encoding conversion cannot be performed. 1684 ; http://php.net/mbstring.http-output 1685 mbstring.http_output = pass 1686 1687 ; enable automatic encoding translation according to 1688 ; mbstring.internal_encoding setting. Input chars are 1689 ; converted to internal encoding by setting this to On. 1690 ; Note: Do _not_ use automatic encoding translation for 1691 ; portable libs/applications. 1692 ; http://php.net/mbstring.encoding-translation 1693 mbstring.encoding_translation = On 1694 1695 ; automatic encoding detection order. 1696 ; "auto" detect order is changed according to mbstring.language 1697 ; http://php.net/mbstring.detect-order 1698 mbstring.detect_order = auto 1699 1700 ; substitute_character used when character cannot be converted 1701 ; one from another 1702 ; http://php.net/mbstring.substitute-character 1703 mbstring.substitute_character = none 1704 # |