ubuntu on Windows に PHPをインストールする 20200401更新 20170616

1.日本語UTF-8を使う設定

$ sudo apt install language-pack-ja
$ sudo /usr/sbin/update-locale LANG=ja_JP.UTF-8

インストールも順番によっては不要かもしれないが,一応確認も兼ねてやっておく。


2.phpのレポジトリを追加

$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update


3.最新版のパッケージ情報

最新版のパッケージ情報PHP7.3をチェック 各バージョンのサポート終了が短い周期で設定されている。
$ sudo apt show php7.3
Package: php7.3
Version: 7.3.16-1+ubuntu18.04.1+deb.sury.org+1
Priority: optional
Section: php

PHP7.3を使ってみることにする。


4.PHP7.3のインストール

$ sudo apt-get update
$ sudo apt-get install PHP7.3

インストール後にでPHPのバージョンを表示する。
$ php -v

PHP 7.3.16-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Mar 20 2020 13:51:46) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.16, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.16-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies


5.モジュールの追加

モジュールをチェックする
$ php -m

MySQLとphpとのインタフェイスmysqliをインストールする。
日本語表示のため,mbstringもインストールする。
zipライブラリのためzipもインストールする。
画像ファイル向けライブラリgdもインストールする。

$ sudo apt-get install PHP7.3-mysqli
$ sudo apt-get install PHP7.3-mbstring
$ sudo apt-get install php7.3-zip
$ sudo apt-get install php7.3-gd

モジュールが追加されたことをチェックする
$ php -m

PHPの構成が変更されたのでapache2を再起動する
$ sudo service apache2 restart


6.PHPの単独テスト

・ファイルtestphp.phpを次のようにubuntuのカレントディレクトリ(おそらく/home/xxxxx)に作る。($nano testphp.php)
-------------------------------------
<?php
print "Hello! from PHP\n";
?>

-------------------------------------

つぎのコマンドで実行する。
$ php testphp.php

Hello! from PHP

が表示されればOK。これでPHPの動作が確認できた


7.PHPファイルのapache2での表示

「c:\var\www\html」という表現が出てくるが,これはApache2の設定で,Documentrootとなっているディレクトリである。

・c:\var\www\html にも上記のtestphp.phpを作る

apache2が動作していなかったら起動する(起動していたら再起動する)
$ sudo service apache2 start
($ sudo service apache2 restart        再起動のとき)

ここでブラウザで http://localhost/testphp.php をアクセスし,

Hello! from PHP

が表示されればOK。

・PHPの設定状況の表示

c:\var\www\html\info.phpを次のように作る
-------------------------------------
<?php
phpinfo();
?>

-------------------------------------
ここでブラウザで http://localhost/info.php にアクセスし,
phpの設定項目が表になって表示される。

mysqliに関する情報も表の中に項目として表示されていたら,mysqliも認識OK。
(表が表示されたら,ブラウザのページ内検索で「mysqli」を検索するとよい。)

mbstringに関する情報も表の中に項目として表示されていたら,mbstringも認識OK。
(表が表示されたら,ブラウザのページ内検索で「mbstring」を検索するとよい。)


8.おまけ 古いバージョンの削除

古いバージョンの削除方法

$ sudo apt-get --purge remove PHPx.y
$ sudo apt-get --purge remove PHPx.y-mysqli
$ sudo apt-get --purge remove PHPx.y-mbstring
$ sudo apt-get autoremove
$ sudo apt autoremove
$ php -v でOSからphpが認識されなくなったことを確認する
ディレクトリや設定ファイルが残っているが気にしないことにする。
(例えば/etc/phpの下に複数のバージョンのディレクトリが存在することになる。)