Web、サーバ、ソフトウェア、バグ・脆弱性 などの情報を何人かで集まって書いていく IT/Web情報系ブログ

Debian8(jessie)にphp7をインストールしてApache2.4で動かす

投稿日:   最終更新日:2017/05/09  投稿者:ktm@s

自宅サーバを新調して、旧自鯖の必要なデータは全て新鯖に移行した。
Debianもwheezyからjessieになった。

Debian jessieでもaptでphpをインストールすると5.6が入るが、php5.6のサポート期限は2017年8月となっており、あと1年も無いのは微妙。
それならいっそ、早いと巷で噂のphp7を入れてやろうじゃないか。

前提:Debian jessie , Apache2インストール済み
Apacheで使う前提の手順

php7のインストールと設定

php7のインストール方法は謎のリポジトリを追加する方法も知られているが、GitHubから簡単にインストールできたのでそちらでいく。

php7のインストール

1.gitが入ってない場合はインストールしておく

$ sudo apt-get install git

2.適当なディレクトリでクローンを作成

$ git clone https://github.com/kasparsd/php-7-debian.git

3.build.shを編集

マニュアルにはそのままbuild.shを実行しろとあるが、そのまま実行するとApache用のモジュールを生成してくれない。
CONFIGURE_STRING=””の中に「–with-apxs2=/usr/bin/apxs」「–with-apxs2=/usr/bin/apxs2」を追加して上書きしてやる必要がある。

※apxsがインストールされていない場合apache2-devもインストールする必要がある(と思う)

2017/05/09追記
apxs2が存在しない場合、以下をインストールする。
preforkならapache2-prefork-dev
workerならapache2-threaded-dev

$ cd php-7-debian
$ sudo vi build.sh

          --with-curl \
          --enable-fpm \
          --with-fpm-user=www-data \
          --with-apxs2=/usr/bin/apxs2 \ #適当な場所に追加
          --with-fpm-group=www-data"

※–enable-fpmやその他fpm周りのオプションはApache2で使うだけであれば不要なので削除してもよい気がする。

4.インストール

$ ./build.sh
$ sudo ./install.sh

正常に完了すると、/usr/lib/apache2/modules/libphp7.soが生成されている。
また、/etc/apache2/mods-available/php7.confが生成されている。

php.iniの設定

memory_limitがデフォルトで128MBになっていて「おおっ」となったが、post_max_sizeとupload_max_filesizeは物足りなかったので必要なら。
どちらかの値が128MBを超えるならmemory_limitも合わせて調整しないといけないよ。

$ sudo vi /usr/local/php7/lib/php.ini

post_max_size = 32M
upload_max_filesize = 32M

スポンサーリンク

Apache2の設定

apache2.confを編集する

最下行にでも以下を追加する。

$ sudo vi /etc/apache2/apache2.conf

<IfModule php7_module>
        AddType application/x-httpd-php .php
        AddType application/x-httpd-php-source .phps
</IfModule>

php7_moduleを有効にする

$ sudo a2enmod php7
$ sudo systemctl restart apache2

動いているか確認する

phpinfoで確認しよう。

<?php phpinfo(); ?>

aptでphpmyadminなどを先に入れてしまっていた場合

apt-get install phpmyadminなどすると、依存パッケージとしてphp5.6が入る。
その場合、a2dismod php5などしてphp5を外しておかないといけない。

php7を入れた後にphpmyadminを入れたらどうなるかは知らない。

- php7 , , ,

Comment

  1. […] 1.Raspbianで公式php7をビルド & インストールする2.Debian8(jessie)にphp7をインストールしてApache2.4で動かす […]

Message

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

関連記事