PHP/コマンドラインでの活用

< PHP

PHPは一般にサーバの動作を記述するための言語なので、動作の確認は普通はwebブラウザで行いますが、じつはコマンドラインだけでも動作は可能です。コマンドラインで動作確認するだけなら、XAMPPやApacheなどのサーバソフトは不要です。

PHPをインストールするだけで、コマンドラインでPHPを使えるようになります。(ただし、サーバが立ってないのでブラウザからは閲覧できない。)

サーバを建てることだけが目的なら、この節の内容の習得は不要です。

コマンドラインでのコード起動編集

Linixの場合、コマンドラインでの使用の目的なら、 phpをapt-get や sudo dnf install などでインストールしたあと、下記のようにコードを <?php タグごと記述します。

※ なおWindowsもコマンドラインでPHPを使えるが、あまりインストール時の文字コードなどの設定がラクではない。
<?php
    print "Hello World!\n";
    print "こんにちは\n";
?>
実行結果
Hello World!
こんにちは


コマンドは、LinuxでもWindowsでも、

php ファイル名.php

で起動します。

HTMLと連動させる場合と似ていますが、よく見ると文末の改行の指示方法が <br> でなく \nになっている事に注意してください。

つまり、HTMLタグは、コマンドラインでは効果なしになります。コマンドラインはwebブラウザではないからです。

コマンドラインで使う場合、引用符の中に「 <br> 」などのHTMLタグを入れても、そのまま出力欄に表示されてしまいます。

もちろん、この \n は、webページやブラウザ上では動作しません。


対話モード編集

あらかじめテキストエディタなどでコードを書かなくても、PHPインタプリタに直接、命令をする事もできます。

対話モードの起動編集

コマンド

php -a

で対話モード(インタラクティブ・モード)に移行します。

interactive がなぜ「-i」でなく「-a」なのか不明ですが、すでに情報(information)表示で「-i」は使われてしまっています。

使用方法編集

対話モードになると、コマンドラインが、

php > 

のような入力モードになります。

終了方法編集

対話モードを終了する場合には、

quit 

または

exit

を入れてください。


使用法の解説編集

使用時のコマンド入力は、

php > print("hello \n");

のように、phpタグをつけないで使用します。

  • よくあるミス

対話モードでのコマンド入力時、よくあるミスでセミコロン「;」を文末につけるのを忘れがちなので、気をつけましょう。

もし、セミコロンをつけずに入力してしまった場合、

php > ;

みたいにセミコロンだけの命令を入れてエンターキーを押し、いったん前の行の命令を終了させてください。

これをしないと、前の行の命令がまだ入力中だとPHPインタプリタが判断しますので、あとにつづく命令がエラーになってしまいます。


  • 2個以上の命令
php > print("hello \n"); print("good \n");

2個以上の命令を入力する場合、改行せずにセミコロンで区切ることもできます。


もちろん、もっと簡単に2回に分けて

php > print("hello \n"); 
hello
php > print("good \n");
good

というふうに入力しても構いません。