PHPをコマンドラインで実行する方法【初心者向け】

初心者向けにPHPをコマンドラインで実行する方法について解説しています。linuxでbashのコマンドライン環境を利用することを想定して説明しています。実際にコマンドを打ってPHPを実行してみてください。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

PHPをコマンドラインで実行する方法について解説します。

コマンドラインでPHPをインストールし、そのままPHPを実行する方法を紹介しているので、ぜひ参考にしてみてください。

 

なお本記事は、TechAcademyのPHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPをコマンドラインで実行する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

コマンドラインとは

コマンドシェルとも呼ばれます。

macやlinuxではターミナルソフトからシェルプログラムを起動して実行します。

標準のシェルとしてbashが使われることが多いですが、他にもsh,csh,ksh,zsh などたくさんのシェルプログラムがあります。

Windwosではcmd.exeやpower shellなどを使います。こちらはlinuxなどのunix系のコマンド体系とは異なります。アイコンやボタン等で操作するグラフィカル シェルとは異なり、テキスト ベースのコマンドを入力してOSを操作します。

ここでは、linuxでbashのコマンドライン環境を利用することを想定して説明します。

 

コマンドラインで実行するために必要な設定

コマンド ラインからPHPを実行するには、PHPがインストールされていることが前提になります。

linuxやmacでは初めからインストールされている場合もあります。

次に必要な設定は PATHの設定になります。PATHはOSが外部コマンドを実行するときに、実行可能ファイルを探すディレクトリを列記した環境変数です。

Cloud9では/usr/bin/php にPHPコマンドが置かれています。

/usr/bin/php -v

と入力するとPHPコマンドを実行してバージョン情報を表示します。

PATHに/usr/binディレクトリが列記されていると

php -v

だけで実行可能になります。

 

PATH も多くのクライアント環境で最初から/usr/bin が追加されていますので上記コマンドで実行可能となります。

PATH の内容を見るには

printenv PATH

と入力して実行してください。最初からいくつかのディレクトリが追加されているのが確認できます。
もし、実行できなかった場合はPATHに追加する必要があります。

export PATH=$PATH:/usr/bin

で追加できますが再起動するとPATHは消えてしまいます。

nano ~/.bashrc

コマンドで .bashrcファイルを開いてexport PATH=$PATH:$HOME/.local/bin:$HOME/bin の行に追加すると次回bashを起動したときにも自動的にPATH設定するようになります。

※Cloud9では設定は不要です。

 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

実際に実行してみよう

正しく設定されていれば下記のコマンドを入力すると「Hello world!」が表示されます。

php -r 'echo "Hello world!",PHP_EOL;'

このようにコマンド一行でPHPを実行するやり方をワンライナーと呼びます。

ワンライナーでも複数のPHPステートメントを実行可能です。

下記のように ; で区切ると1行に複数のステートメントが書けますので工夫次第で色々なことに使えます。

php -r '$sum=0;for ($i=1; $i<=10; $i++) {$sum+=$i;} echo $sum,PHP_EOL;'

このように1行に複数のステートメントを書くことをマルチステートメントと呼びます。

また、既存のPHPソース プログラムを実行することも可能です。

php example.php

これでexample.phpファイルをPHPコマンドが読み込んで実行します。

この記事を監修してくれた方

大網 清和(おおあみきよかず )
現在は派遣スタッフとして Laravel で大手ポータルサイトの開発業務をしています。

プログラム歴は長く中学生の頃から始めて35年くらいになります。古くは BASIC、C、COBOLなどを経験し SQL を集中的に使っていた時期もあります。
Web の開発はまだ2年位とあまり長くは無いですが、プログラミングの楽しさを伝えられたら良いなと思っています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

オンラインのプログラミングスクールTechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。

PHPやフレームワークのLaravelを使ってWebアプリケーションの開発を学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。