りなっくすとらずぱい!

Raspberry Pi初心者に向けた各コマンドの説明、プログラムの作り方について紹介しています!

Raspberry PiにPHPをインストールする

f:id:ibuquicallig:20190516060758p:plain

この記事ではPHPのインストール方法などについて解説しています。

この記事でできること

  • phpをRaspberry Piにインストールして、コマンドラインからphpコマンドを実行できるようにする。
  • WEBサーバー上のHTML文書にPHPの処理を埋め込むことができるようになる。(別記事リンク)

手順

PHPをRaspberry Piにインストールして、動作確認までです。

apt-getでインストールする

PHPはRaspbianのリポジトリに存在しているのでapt-getコマンドで簡単にインストールすることができます。

以下のコマンドを実行してPHPの最新版をインストールします。

$ sudo apt-get update
$ sudo apt-get install php

動作確認する

php -vを実行することで現在のバージョンが表示されます。表示できるということは正常にインストールできています。

$ php -v
PHP 7.0.33-0+deb9u3 (cli) (built: Mar  8 2019 10:01:24) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.33-0+deb9u3, Copyright (c) 1999-2017, by Zend Technologies

また、-rオプションを指定し、続いて実行可能なコード書くと処理を実行できます。

$ php -r "echo date('Y-m-d');"
2019-05-16

Apacheがインストールされている場合

PHPのインストール前にapache2が既にRaspberry Piにインストールされている場合は、apache上で動く用のPHPの設定などが自動的に作成されます。おそらく後からapache2をインストールしても同じだと思われます。

具体的にはApache上で実行されるPHPのphp.iniファイルとそのほか設定が/etc/php/7.0/apache2/内に作成されます。

$ cd /etc/php/7.0/apache2/
$ ls
conf.d  php.ini

Apache上のPHPで実行する時の設定はこちらのファイルから読み込まれます。設定した値を反映させるにはApacheの再起動かリロードが必要となります。

$ sudo vim /etc/php/7.0/apache2/php.ini
# 値を変更
$ sudo service apache2 restart
# もしくはリロード
$ sudo service apache2 reload

有効なモジュールを確認する

PHPではモジュールを追加することで機能を拡張(関数を追加)することができます。

php -mを実行することで一覧で表示できます。

[PHP Modules]
calendar
Core
...
wddx
xml
xmlreader
xmlwriter

よくある不具合として、他端末で開発・テストしたPHPのプログラムを実行用端末で動かしたときに正しく動かないことがよくあることです。

十中八九、モジュールが足りていないということが原因なのですが、Raspberry Piでは最初からインストールされるモジュールがほかのLinuxディストリビューションと比べて少ないです😣

例えば、普通のDebianでPHPをインストールした場合、最初からxml関連のモジュールがインストールされますが、Raspberry Pi(Raspbian)ではNOです。

インストールするにはsudo apt-get install php-xmlを手動で実行してあげる必要があります。

開発端末のphp -mの結果とRaspberry Pi上の結果を合わせることでこの問題は解消できます。インストールするモジュールはapt-cache search php [モジュール名]で大体はヒットするはずです😉

WEBページにPHPの処理を追加する

別記事でより詳しく解説していますのでそちらを参照して下さい!

Apacheのインストールから始める場合はぜひ第一回の記事からご覧ください。

参考

以下のサイトの情報を引用・参考にしました。