こんにちは、エンジニア経験3年目のヒカルです。
は多くいます。今回はPHPで役立つアプリケーションのCLIについてわかりやすく紹介していきます。CLIがどんな機能なのか、インストールの方法や使い方をまとめました。
PHPを学び始めた人やCLIがなんなのかわからない方は、ぜひ読んでみてください。
目次
PHPで使うCLIの基本
PHPのスクリプトの実行は2つのパターンがあります。1つはWEBのサーバーを経由した実行の方法で、もう1つがコマンドラインを使った実行の方法です。
WEBサーバーを経由しないで実行されるコマンドラインを使った実行の方法がCLI(Command Line Interface)で、今回の重要なポイントなので覚えましょう。初めてプログラミングを勉強するという人には必要な知識で、少しでも簡単に知識を増やすにはCLIは便利です。
CLIには多くの便利なオプションがあり、PHPスクリプト、PHPセットアップなどのさまざまなモードでも実行ができて情報を取得できます。
PHP CLIとPHP CGIの違い
PHP CLIはスタンドアロンアプリケーション(アプリから半独立、完全に独立しているアプリ)を作成するPHPで使われるコマンドラインインターフェース(全てのやり取りを文字で実行する方式)で、PHP CGIはWebアプリケーション用の一般的なゲートウェイインターフェース(ユーザープログラムをWEBサーバーで動作させる仕組み)で使われます。
コマンドラインインターフェースとはキーボードだけで全ての操作ができることで、ゲートウェイインターフェイスはウェブサーバ上でユーザのプログラムを動作する仕組みです。
PHP CLIのインストール
ここの項目ではPHPで頻繁に使うCLIのインストールについて紹介します。PHPのスクリプトをコンソールで動作させるのに必要な機能で、WEBサイトを構築するのに使用していたPHP言語もコンソールで使うことができます。
初心者でも慣れてくるとPHP CLIは便利なのでおすすめです。
PHPのインストール
PHPをインストールすると、多くのパッケージがダウンロードされて、CLIもPHPがインストールされた時に同じくインストールされています。
1 |
$ yum info --enablerepo=xxx,xxx-php73 php php-mbstring php-xml php-xmlrpc php-gd php-pdo php-pecl-mcrypt php-mysqlnd php-pecl-mysql |
上記のコードを実行すると以下のように表示されます。
1 2 3 4 |
(上記は割愛) php-cli.x86_64 0:7.3.6-3.el7.xxx php-common.x86_64 0:7.3.6-3.el7.xxx php-json.x86_64 0:7.3.6-3.el7.xxx 完了しました! |
上記の下から3行目(php-cli.x86_64 0:7.3.6-3.el7.xxx php-common.x86_64 0:7.3.6-3.el7.xxx)にCLIがインストールされているのが確認できます。
PHPパッケージの確認
正確にインストールされたかの確認が必要になるため、yumというコマンドで確認ができます。
1 |
$ yum list installed | grep php |
上記のコードを実行すると以下のようにPHPパッケージが表示されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
php.x86_64 7.3.6-3.el7.xxx @xxx-php73 php-cli.x86_64 7.3.6-3.el7.xxx @xxx-php73 php-common.x86_64 7.3.6-3.el7.xxx @xxx-php73 php-gd.x86_64 7.3.6-3.el7.xxx @xxx-php73 php-json.x86_64 7.3.6-3.el7.xxx @xxx-php73 php-mbstring.x86_64 7.3.6-3.el7.xxx @xxx-php73 php-mysqlnd.x86_64 7.3.6-3.el7.xxx @xxx-php73 php-pdo.x86_64 7.3.6-3.el7.xxx @xxx-php73 php-pecl-mcrypt.x86_64 1.0.2-2.el7.xxx.7.3 @xxx-php73 php-pecl-mysql.x86_64 1.0.0-0.20.20180226.647c933.el7.xxx.7.3 @xxx-php73 php-xml.x86_64 7.3.6-3.el7.xxx @xxx-php73 php-xmlrpc.x86_64 7.3.6-3.el7.xxx @xxx-php73 |
上記の2行目(php-cli.x86_64 7.3.6-3.el7.xxx @xxx-php73)にCLIがインストールされているのが確認できます。
PHP CLIの動作確認方法
PHP CLIを使うにあたり、動作の確認が必須です。CLIの動作を確認するには、PHPのバージョンを確認するのが一番早いです。
バージョンの確認方法
バージョンを確認するコードは(php -v)なので下記のように入力します。バージョンの確認は普段のプログラミング構築にも必要な知識なので、理解しておきましょう。
1 2 3 4 |
$ php -v PHP 7.3.6 (cli) (built: January 28 2021 09:32:59) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.6, Copyright (c) 1998-2018 Zend Technologies |
上記のようにPHPのバージョンを確認することができます。バージョンは2行目のPHP7.3で、正常に確認ができればCLIは問題なく使えます。
CLIで動作の確認
CLIを使ってPHPの動作確認もできます。動作確認は正常にPHPでCLIなどが使えているのか確認する重要なポイントなので、こちらも覚えおきましょう。
1 |
$ php -r 'phpinfo();' |
上記のコードを実行すると以下のように表示されます。
1 2 3 4 5 6 7 8 9 10 |
phpinfo() PHP Version => 7.3.6System => Linux www 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 Build Date => January 28 2021 09:32:59 Server API => Command Line Interface Virtual Directory Support => disabled Configuration File (php.ini) Path => /etc Loaded Configuration File => /etc/php.ini Scan this dir for additional .ini files => /etc/php.d Additional .ini files parsed => /etc/php.d/20-bz2.ini, 割愛 |
出力結果はコードが長いので一部を表示しましたが、上記のように実行してPHPの設定に関する情報が表示されれば、正常に動きます。
PHP CLIの使い方
CLIを使うことは必須になるので、重要な項目です。
今回は直接コマンドラインから出力した場合と、ファイルから出力した場合の2パターンをサンプルを使って紹介していきます。
直接実行した場合の出力結果
今回はPHP CLIを使って「Hello world!」を表示させます。
直接実行とは、ファイルなどを使わずにコマンドに入力させてそのまま反映させる方法です。
1 |
php -r 'echo "Hello world!",PHP_EOL;' |
上記のように実行すると下記のような結果が表示されます。
1 |
Hello world! |
これはコマンドラインから直接実行した場合の出力結果で、echoでHello_world!を出力しています。
ファイルを使った場合の出力結果
次は、ファイルを使った実行の方法です。
helloworld.phpというファイルをはじめに作成し、ファイルの内容は以下の通りに入力します。
1 2 3 |
<?php echo "Hello world!"; ?> |
今回の目的は上記のファイルを出力して、「Hello world!」を表示させます。
1 |
$ php -f helloworld.php |
上記のようにファイル名を出力すると、ファイルが実行されて「Hello world!」が表示されます。
まとめ
いかがだったでしょうか?
今回の記事ではPHPのCLIに関する内容を紹介してきました。
PHPのCLIはPHPを始めるにあたって必要な知識でもあります。CLIの知識を深めてからPHPを始めてみてはいかがでしょうか?