コマンドラインからPHPを実行する。

CLI(Command Line Interface)というそうです。

bashでは書ききれないバッチ処理なんかに便利ですね。


PHPのパスを確認

# which php
/usr/bin/php

1行目がポイントです。
echo.php

#!/usr/bin/php -q
<?php
echo "Hello World.";
?>
# chmod +x echo.php
# ./echo.php
Hello World.

コマンドライン引数を処理する

argv.php

#!/usr/bin/php -q
<?php
$scriptName = $argv[0];
$param1 = $argv[1];
echo "scriptName = $scriptName \n";
echo "param1 = " . $param1;
?>
# chmod +x argv.php
# ./argv.php myparam
scriptName = ./argv.php 
param1 = myparam 

標準入力を処理する

stdin.php

#!/usr/bin/php -c -q
<?php
ob_end_clean();
echo "please input number : "; 
$nums = array();
while (true) { 
    $num = rtrim(fgets(STDIN, 10), "\n"); 
    if (!ctype_digit($num) || strlen($num) < 1) { 
        break; 
    }   
    $nums[] = $num;
    echo "please input number : "; 
} 
echo implode(" + ", $nums) . " = ";
$sum = 0;
foreach ($nums as $n) {
  $sum = $sum + $n; 
}
echo $sum . "\n";
?>
# chmod +x stdin.php
# ./stdin.php
please input number : 3
please input number : 4
please input number : 5
please input number : 6
please input number : 
3 + 4 + 5 + 6 = 18