読者です 読者をやめる 読者になる 読者になる

マネー報道 MoneyReport

マネーにまつわる報道を取り上げ、自分の切り口で切り取り、噛み砕いてお伝えします。

PHPをコマンドラインで動かすphp.exeが便利そう♪

スポンサーリンク
あとで読む

大量のテキストファイルからキーワード抽出がしたい

フリーエンジニアのお仕事が7月末までで終わったので、再び本業のWebサイト開発に従事しております。
Webサイト開発でメインで使っている開発言語はPHPになります。
MySQLから数万件ある様なデータを取得してきてもスパンと反応して返してくれるPHPは、なかなか動作も機敏で良いな~、と感じています。

で、今回はそんなWebサーバー上で動くPHPを、ローカル環境のしかもコマンドライン上で動かしてみようかな、と(^-^)v

というのも大量のテキストファイルから、一部キーワードのみを抽出する作業が必要になりまして、sakuraエディタの「キーマクロ」を使って必要なキーワード部分のみを残しながら作業しようかとも思いましたが、それにしたって後から抽出したキーワード部分をまとめたりが面倒くさいので

「何か良い方法はないかな?」

と考えまして。
C#とかでWindowsアプリとして組めばもちろん「キーワード抽出してCSVで吐いて」とかは簡単にやらせることが出来ますが、たかだかその程度の作業をするのにC#で書くのもバカバカしいですし、条件を幾つも変えながら実行したいので、都度ソースコードを修正してVisualStudioで再コンパイルとかは非常に面倒くさいので、もっと手軽に行える方法がないかな、と。

そこで、以前PHPの基礎を勉強していた頃に

「PHPはWebサーバー上で動きますが、Webサーバー上でしか動かないわけではなくて、ローカルでも動きます」

みたいな記載があった様な(^-^;
ちょっと調べてみましょう。

コマンドライン上でも動くPHP

PHPの公式サイト「PHP マニュアル」で調べてみます。

・・・(調査中)・・・

ありました!

CLI SAPI の主な目的は、シェルアプリケーションを PHP で開発することです。CLI SAPI とその他の SAPI の間にはちょっとした違いがあり、 それを本章で説明します。CLI と CGI は多くの共通点がありますが、別の SAPI であるということも覚えておきましょう。


PHP 5 以降、Windows 版の CLI はメインフォルダ内で php.exe という名前で配布されます。CGI バージョンは、php-cgi.exe として配布されます。さらに PHP 5 では、configure で --enable-cli-win32 を指定すると、新しく php-win.exe というファイルが配布されます。 これは CLI バージョンとほぼ同じですが、何も出力しないため、コンソールを必要としません。


PHP: 導入 - Manual

ふむふむ。
php.exe」を使えばWindowsクライアントの中でもPHPが動作しそうです(^-^)v

php.exeをエクスプローラーで検索して探してみると・・・
f:id:MoneyReport:20160814153306j:plain
あった!
下記4つのexeがありました!

  • phpdbg.exe
  • php-win.exe
  • php.exe
  • php-cgi.exe

多分、この中の3つ目の「php.exe」で動かせばよいのかな、と。

php.exeをダブルクリックしてみると下記の様な感じに。
f:id:MoneyReport:20160814153647j:plain

コマンドライン上で動かすのが正しい様ですね。

php.exe

では早速、コマンドラインでphp.exeを叩いてみましょう!

f:id:MoneyReport:20160814153833j:plain

あれ?
何も起きませんね(^-^;
動作待ちみたくなっています。

<?php
print "Hello World!";
?>


php.exeがコマンドラインでPHPを動かすためのプログラムのようなので早速試しました。
うまく動けば良いですが。


成功です^^


PHPをWindowsにインストールしてコマンドライン(CLI)で使う

ふむふむ。
コマンドライン上で
「php test.php」みたくphp.exeの後ろに半角スペースを入れてその後にphpファイルを指定すれば動く様です(^-^)v

適当なソースコードを書きます。

<?php
    echo "php_test";
?>

「php_test」と表示するだけのソースコードです(^-^;
ファイル名は「cmd01.php」にしました。

では実際に動かしてみましょう!

コマンドライン上で「php.exe cmd01.php」と入力して実行すると・・・
f:id:MoneyReport:20160814154617j:plain
動きました!!!

上図の2行目に「php_test」と表示されているのが分かるかと思います(^-^)v
Windowsのコマンドライン上でPHPが動作しました!

PHPさえ動けばこっちのものです。
後は指定フォルダ内のテキストファイルを読み込んで、キーワードを抽出し、csvファイルとして吐き出すプログラムを書いて実行すればOKです。

PHPならエディターで開いてさくさく書き直せるので、C#とVisualStudioなんかで書くよりも数段落に書けるので、今後はローカルファイル内の加工などはPHPに頑張ってもらう事になりそうです(^-^)v

まとめ

  • PHPはWebサーバー上で動く開発言語
  • Windowsのコマンドライン上でphp.exeを実行すれば、ローカル上でPHPを動作させることが出来る!
  • php.exe実行時は「php filename.php」みたく、半角スペースを空けてphpファイルを指定すればOK!