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内で標準シェルの切り替えを行うにはどうすればいいんだろう?