[CentOS] CentOS 6 に PHP 5.6 をインストールする
2017/10/01 20:50
  • CentOS 6 に PHP 5.6 をインストールしたときの備忘録です。
    ぼくはさくらの VPS を契約していて、CentOS6 を利用しているのですが PHP は未インストールの状態でした(;´Д`)
    そしてこの度 WordPress のための環境を構築することになったので、 PHP をインストールすることにしました。

    環境

    環境は以下のとおりです


    ・CentOS6系
    ・Apache 2.2.15(インストール済み)
    ・PHP 5.6(今回インストールします)
    ・MySQL 5.7(インストール済み)

    CentOS 6 の標準 yum リポジトリでは、 PHP 5.3 系しかインストール出来ないのですが、ローカル環境の mac の PHP とバージョンを合わせるために 5.6 をインストールすることにしました。

    PHP 5.6 をインストールする

    以下の手順で PHP 5.6 をインストールします

    epel と remi のリポジトリを追加する


    $ sudo rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
    $ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

    PHP 5.6 をインストールする


    $ sudo yum install --enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt php-mysqlnd

    php-mysqlnd を入れておかないと、 WordPress のインストール時に以下のエラーが出るので必須です。


    お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。

    参考: http://mu-mumu.hatenablog.com/entry/2017/03/07/231932


    PHP のバージョンを確認する


    $ php -v
    PHP 5.6.31 (cli) (built: Jul 6 2017 08:16:47)
    Copyright (c) 1997-2016 The PHP Group
    Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

    以上でインストールが完了しました。

    参考: CentOS6/CentOS7にPHP5.6/PHP7をyumでインストール


    /etc/httpd/conf.d/ 以下に php.conf というファイルが自動で作成されるので、特に何かを追記する必要はありません。
    一応、生成されたファイルを貼っておきます。

    $ cat /etc/httpd/conf.d/php.conf 
    #
    # PHP is an HTML-embedded scripting language which attempts to make it
    # easy for developers to write dynamically generated webpages.
    #
    <IfModule prefork.c>
      LoadModule php5_module modules/libphp5.so
    </IfModule>
    
    <IfModule !prefork.c>
      LoadModule php5_module modules/libphp5-zts.so
    </IfModule>
    
    #
    # The following lines prevent .user.ini files from being viewed by Web clients.
    #
    <Files ".user.ini">
        <IfModule mod_authz_core.c>
            Require all denied
        </IfModule>
        <IfModule !mod_authz_core.c>
            Order allow,deny
            Deny from all
            Satisfy All
        </IfModule>
    </Files>
    
    #
    # Allow php to handle Multiviews
    #
    AddType text/html .php
    
    #
    # Add index.php to the list of files that will be served as directory
    # indexes.
    #
    DirectoryIndex index.php
    
    # mod_php options
    <IfModule  mod_php5.c>
        #
        # Cause the PHP interpreter to handle files with a .php extension.
        #
        <FilesMatch \.php$>
            SetHandler application/x-httpd-php
        </FilesMatch>
    
        #
        # Uncomment the following lines to allow PHP to pretty-print .phps
        # files as PHP source code:
        #
        #<FilesMatch \.phps$>
        #    SetHandler application/x-httpd-php-source
        #</FilesMatch>
    
        #
        # Apache specific PHP configuration options
        # those can be override in each configured vhost
        #
        php_value session.save_handler "files"
        php_value session.save_path    "/var/lib/php/session"
        php_value soap.wsdl_cache_dir  "/var/lib/php/wsdlcache"
    </IfModule>
    

    参考: EC2にApacheとPHP(mod_php)をインストールしたメモ

    人気ブログランキングへ ブログランキング・にほんブログ村へ
    ↑応援よろしくお願いします!m(_ _)m

  • <2017/10/01 20:50>
  • サーバー
  • ApachePHPPHP5.6MySQLWordPressCentOSyumepelremi
  • 新しい記事へ
    Let's Encrypt でサイトを SSL 化する

    古い記事へ
    [Windows] Ophcrack を使ってユーザーパスワードを解析する方法

profile picture

自己紹介的な何か

@wkmettyでついったーやってます。時々。 6年間勤めたゲーム会社を2018年2月に退職しフリーランスのプログラマに。 WordPress Core, WP-CLI コントリビューター。 お仕事募集中です。