Lubnutu 18.04 LTS で PHP ビルトインサーバ

Lubuntu 16.04 LTS から PHPビルトインサーバを使っているのですが、Lubuntu 18.04 LTS へアップデートしたPCでは未導入だったのでインストールしました。

導入方法

導入パッケージの確認

さりげなく PHP バージョンを聞くと、親切に導入パッケージを教えてくれます。

$ php -v

Command 'php' not found, but can be installed with:

sudo apt install php7.2-cli
sudo apt install hhvm      

なお、hhvm は、Facebook が公開している PHP実行環境です。

$ apt-cache search hhvm
hhvm - HipHop Virtual Machine, a JIT replacement for PHP - main runtime
hhvm-dbg - HipHop Virtual Machine, a JIT replacement for PHP - debugging symbols
hhvm-dev - HipHop Virtual Machine, a JIT replacement for PHP - development files
phpunit-environment - functionality to handle HHVM/PHP environments - PHPUnit component

base on HipHop Virtual Machine - Wikipedia

HipHop Virtual Machine(ヒップホップ・バーチャル・マシン、HHVM)は、実行時コンパイラ (JIT) 方式でPHPおよびHackといったプログラミング言語を実行する、仮想機械型の処理系である。

インストール

提示された2つのパッケージをインストールします。

$ sudo apt-get install php7.2-cli hhvm

以下のパッケージが新たにインストールされます:
  hhvm libboost-context1.65.1 libboost-program-options1.65.1 libdwarf1
  libgflags2.2 libgoogle-glog0v5 libjemalloc1 libmcrypt4 libmemcached11
  libonig4 libtbb2 php-common php7.2-cli php7.2-common php7.2-json
  php7.2-opcache php7.2-readline
アップグレード: 0 個、新規インストール: 17 個、削除: 0 個、保留: 10 個。

Creating config file /etc/php/7.2/mods-available/opcache.ini with new version
php7.2-cli (7.2.10-0ubuntu0.18.04.1) を設定しています ...
update-alternatives: /usr/bin/php (php) を提供するために自動モードで /usr/bin/php7.2 を使います
update-alternatives: /usr/bin/phar (phar) を提供するために自動モードで /usr/bin/phar7.2 を使います
update-alternatives: /usr/bin/phar.phar (phar.phar) を提供するために自動モードで /usr/bin/phar.phar7.2 を使います

Creating config file /etc/php/7.2/cli/php.ini with new version

導入確認

PHP 7.2.10-0 がインストールされていることが確認できます。

$ php -v
PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

PHPビルトインサーバ起動

phpコマンドで起動できます。

引数 概要
-S <addr>:<port> Run with built-in web server. localhost:80
-t <docroot> Specify document root <docroot> for built-in web server. /home/user/ドキュメント (DocumentRoot)
$ sudo php -S localhost:80 -t /home/user/ドキュメント
PHP 7.2.10-0ubuntu0.18.04.1 Development Server started at Sat Sep 22 21:27:41 2018
Listening on http://localhost:80
Document root is /home/user/ドキュメント
Press Ctrl-C to quit.
^[[B[Sat Sep 22 21:27:53 2018] 127.0.0.1:52302 [200]: /moji_ateKomi.php
[Sat Sep 22 21:27:55 2018] 127.0.0.1:52306 [404]: /favicon.ico - No such file or directory
[Sat Sep 22 21:28:08 2018] 127.0.0.1:52310 [200]: /test.php

上記だと、ドキュメントルートが「/home/user/ドキュメント」なので以下のようになります。

  • ファイル
    /home/user/ドキュメント/test.php
  • URL
    http://localhost/test.php