PHP を コマンドラインで実行する
Linuxの場合、php -r でできる。
(Windowsでもできるんだけどなんか挙動がおかしい)
Linuxでコマンドラインで実行
$ php -r 'echo "hoge\n";'
hoge
こんな感じ。
気を付けないといけないのが ' と "。
例えば上記は、
$ php -r "echo 'hoge\n';"
hoge\n$
みたいな感じでちゃんと動かない。もっと言うと変数とかを使う以下のようなコードの場合、
php -r '
> $time = new DateTime();
> echo $time->format("Y-m-d H:i:s"), PHP_EOL;
> '
2022-10-12 16:05:31
' と " を入れ替えると、
$ php -r "
> $time = new DateTime();
> echo $time->format('Y-m-d H:i:s'), PHP_EOL;
> "
PHP Parse error: syntax error, unexpected token "=", expecting end of file in Command line code on line 2
とエラーになってしまうのだ!
あくまで ' でくくる。が大事。
Windowsでコマンドラインで実行
基本Linuxと同じはずなんだけどちょいちょい動きが変なのであきらめる。
ちょっとWindowsのPowerShellとかで確認したいのなら、
<?php
try {
$p = new PharData('./image.tar');
$p->extractTo('./image');
} catch (Exception $e) {
echo $e->getMessage();
}
?>
みたいな感じでテキストファイルを作って、
> php hoge.php
としたほうがなんかごちゃごちゃ頑張らんでいいので楽。
以上!