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

php7

記事をご覧の方へ

現在vivibit.netは旧システムからの移行に伴い修正作業を行っています。
表示上の問題や軽微なエラーが発生する可能性がありますが、ご利用に問題はありません。
また、現在一部ファイルのダウンロードができなくなっています。
順次対応予定ですが、お急ぎの場合や問題を発見された場合はコメント欄でご指摘いただけると助かります。


自宅サーバを新調して、旧自鯖の必要なデータは全て新鯖に移行した。
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が入ってない場合はインストールしておく

[bash]
$ sudo apt-get install git
[/bash]

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

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

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

[bash]
$ 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"
[/bash]

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

4.インストール

[bash]
$ ./build.sh
$ sudo ./install.sh
[/bash]

正常に完了すると、/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も合わせて調整しないといけないよ。
[bash]
$ sudo vi /usr/local/php7/lib/php.ini

post_max_size = 32M
upload_max_filesize = 32M
[/bash]

Apache2の設定

apache2.confを編集する

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

[bash]
$ sudo vi /etc/apache2/apache2.conf

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

php7_moduleを有効にする

[bash]
$ sudo a2enmod php7
$ sudo systemctl restart apache2
[/bash]

動いているか確認する

phpinfoで確認しよう。

[php]
<?php phpinfo(); ?>
[/php]

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

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

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

コメント

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

タイトルとURLをコピーしました