PHP

CentOS 6.8 の PHPを 5.4 から 7 に変更する

投稿日:2016年6月30日 更新日:

PHPのバージョンがいまだに 5.4のままの CentOS 6.8 があったので PHP 7 に更新した;)

環境

  • この環境では、Nginx + FPM + PHP が動いている。

手順

  1. まずは、関連サービスを止めておく。
    $ sudo service php-fpm stop
    $ sudo service nginx stop
    
  2. 既存のPHPを削除する。
    $ sudo yum remove php*
    . . .
    (省略)
    . . .
    警告: /etc/php-fpm.d/www.conf は /etc/php-fpm.d/www.conf.rpmsave として保存されました。
    警告: /etc/php.ini は /etc/php.ini.rpmsave として保存されました。
    . . .
    (省略)
    . . .
    

    上記のように、関連する設定ファイルがリネームされて保存された。

  3. この時点で、epel や remi のリポジトリをシステムに追加していない場合は、以下の手順で追加しておく。
    $ wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
    $ wget http://rpms.remirepo.net/enterprise/remi-release-6.rpm
    $ rpm -Uvh remi-release-6.rpm epel-release-latest-6.noarch.rpm
    
  4. PHP 7 をインストールする。
    $ s yum install --enablerepo=remi-php70 --disablerepo=base \
        php php-intl php-cli php-common php-devel php-fpm php-gd \
        php-mbstring php-mcrypt php-pdo php-pear php-pecl-apcu \
        php-pecl-igbinary php-pecl-memecached \
        php-pecl-msgpack php-process php-xml php-mysqlnd
    
  5. /etc/php-fpm.d/www.conf を更新する。
    • 新しく生成されている /etc/php-fpm.d/www.conf に対して、先ほど保存された /etc/php-fpm.d/www.conf.rpmsave 内の必要な項目を反映する。
    • colordiff コマンド等で、2つのファイルの違いを見ながら行うとよい。
  6. /etc/php.ini を更新する。
    • 新しく生成されている /etc/php.ini に対して、先ほど保存された /etc/php.ini.rpmsave 内の必要な項目を反映する。
    • colordiff コマンド等で、2つのファイルの違いを見ながら行うとよい。
  7. 関連サービスを再起動する。
    $ sudo service php-fpm restart
    $ sudo service nginx restart
    

以上

📂-PHP
-, ,

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

PHP

pecl install xxxx する際は、php -v と php-config –version が一致しているか確認してから行う

pecl install xxxx する際は、php -v と php-config –version が一致しているか確認してから行うとよいという話しです。

PHP

【PHP】Composer の使い方

Composer は、PHPのパッケージ管理ツールです。利用するパッケージ(ライブラリ)間の依存関係も解決してくれます。 スポンサードリンク 目次1. Composer の特徴2. 対応している PH …

PHP

画像ファイルの拡張子でないURLから 画像ファイルを返すPHPコードの例

ウェブブラウザで画像ファイルをダウンロードする場合、URL は https://example.com/foo/bar.png というように、末尾がそのファイル名になっていることが多いと思います。 こ …

Google App Engine

SendGrid でメール送信する(Google App Engine, PHP7)

Google App Engine (runtime: php72) の環境における、SendGrid を使ったメール送信方法について説明しています。

PHP

Composer を使って PSR-4 オートロードしている場合、composer.json は必要なくなる

PHP を使った開発でよく使う Composer に関するお話しです。 例えば、composer.json に以下のように記述して開発を行ったとします。 { … “autoload”: { “ps …