旧それなりブログの跡地、画像やスタイルやJSなどが壊れてることがあります。

CLI版PHP内でexecした場合の標準シェルは

2007年4月17日

CLI版PHP内で気軽にシェルをとか呼んだとき
それは実は環境に依存してるんだったんだという話。
例えば以下のCLI版PHPを呼ぶと

<?php
echo shell_exec('echo $SHELL');
?>

ログイン中Linuxアカウントの標準シェルが出力される↓

/bin/zsh
PHPで書いたバッチが
呼び出し時の環境に依存するのはキモいなーということで

shell_exec('sh');

とかやってみたら、そこでPHPが止まってしまう。

shell_exec('sh foo.sh');

こうすりゃ↑解決なんですけど、別ファイルを切りたくはないし。

PHP内で標準シェルの切り替えを行うにはどうすればいいんだろう?