Help us understand the problem. What is going on with this article?

ラズパイ3 + Jessie に PHP7.1 を APT でインストールする

More than 1 year has passed since last update.

TL;DR

RaspberryPi3 + Jessie に PHP7 を APT で入れるには、Mati75 さんが公開しているプライベート・リポジトリを APT のsources.listに追加して apt-get update したのち、apt-get install で PHP 本体とお好きな追加パッケージをインストールします。

2018/03/30 02:42 現在 Mati75 さんのリポジトリ repozytorium.mati75.eu (94.130.188.161) はダウンしているようです。PINGは通るのですが。。。 こちらで暫定回避

TS;DR

はじめに

RaspberryPi3 をなんちゃって俺様 IoT の中継機にするため、デスクトップ環境なし(CLI 版)の Raspbian Jesse Lite (Debian8.0) を入れたのですが標準で PHP は入っていません。

定番の PHP5 の記事は沢山あるのですが RPi3 に PHP7.1 をインストールする、まとまった記事が少ないので書いてみました。基本的には @janit さんの記事を参考にしていますが、ソースからのコンパイルでなく apt-get install でインストールする方法に特化して書いています。

また、janit 氏本人から許可をいただいたので、近々翻訳した記事を書きたいと思います。

リポジトリの追加

  1. APT の参照先リストのファイル(/etc/apt/sources.list)に下記1行を追加します。

    deb http://repozytorium.mati75.eu/raspbian jessie-backports main contrib non-free
    

    最新のリポジトリを確認するには、Mati75 さんのリポジトリのトップページで「Debian repository」にある「Repository with backports packages for Debian Jessie」を確認してください。

  2. Mati75 さんのリポジトリの公開鍵を下記2つの gpg コマンドで登録します。

    gpg --keyserver pgpkeys.mit.edu --recv-key CCD91D6111A06851
    gpg --armor --export CCD91D6111A06851 | apt-key add -
    

    最新のリポジトリの公開鍵は、参照先と同じくMati75 さんのリポジトリのトップページ最下部にある「Repository keys」に記載されています。

  3. APT パッケージのリストを apt-get update コマンドで更新して、変更を適用します。

    sudo apt-get update
    
  4. 次項を参考に PHP をインストールします。

インストール

sudo apt-get -y install php7.1-fpm php7.1-dev php7.1-mysql php7.1-sqlite3 php7.1-gd php7.1-cgi php7.1-mbstring php7.1-curl php-pear php7.1-mcrypt php-xml-parser php7.1-gd php7.1-zip php7.1-xml php7.1-xmlrpc ssl-cert && sudo reboot

上記は、俺様 IoT 用に自分の RPi をコマンドベースで動かすために Apache は入れないで PHP7.1 をインストールするワンライナーなので、Apache も入れる場合や、無駄なくインストールされたい方は、次の項目の「PHP 本体のインストール」以降を参考にしてください。

PHP 本体のインストール

Apache なし

sudo apt-get install php7.1-fpm
  1. php7.1-fpmで一緒にインストールされるパッケージ
    1. php7.1-fpm [FPM]
    2. libapparmor1 [libapparmor1]
    3. php-common [PHP-Common]
    4. php7.1-common
    5. php7.1-cli [CLI]
    6. php7.1-json [JSON]
    7. php7.1-opcache [OPcache]
    8. php7.1-readline [GNU Readline]

Apache あり

sudo apt-get install php7.1
  1. php7.1で一緒にインストールされるパッケージ

    1. apache2
    2. apache2-bin
    3. apache2-data
    4. apache2-utils
    5. libapache2-mod-php7.1
    6. libapr1
    7. libaprutil1
    8. libaprutil1-dbd-sqlite3
    9. libaprutil1-ldap
    10. liblua5.1-0
    11. php-common
    12. php7.1
    13. php7.1-cli
    14. php7.1-common
    15. php7.1-json
    16. php7.1-opcache
    17. php7.1-readline
    18. ssl-cert
  2. 推奨追加パッケージ

    sudo apt-get install www-browser apache2-doc apache2-suexec-pristine apache2-suexec-custom php-pear openssl-blacklist
    

大抵必要なもの

PHP 開発や外部のライブラリを使うなら下記を入れます。

  1. php7.1-mbstring [マルチバイト文字]
  2. php7.1-curl [cURL]
  3. php-pear [PEAR]
  4. php7.1-dev [PHP-Devel]
  5. php7.1-mcrypt [Mcrypt]
  6. php7.1-zip [ZIP]]
  7. php7.1-xml [libxml]

その他の主な追加オプション

以下は、よく使われるオプションパッケージですが、普段使うサーバーで phpinfo() で追加されているモジュールを確認するのがベターかもしれません。

メールを使う場合

  1. php7.1-imap [php-imap]

画像処理(縮小、トリミング、その他)

  1. php7.1-gd

DB を使いたい場合

  1. php7.1-mysql
  2. php7.1-sqlite3

WEB アクセラレーター

  1. varnish [Varnish]

XML-RPC を WEB サービスで使う場合

  1. php7.1-xmlrpc [XML-RPC]

参考文献

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした