それなりブログ

とあるWebエンジニアのそれなりのブログ、JavaScript/Node.js/Python/PHP/ゲーム作成 など

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

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

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

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

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

shell_exec('sh');

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

shell_exec('sh foo.sh');

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

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



コメントを残す

メールアドレスが公開されることはありません。

Categories

Archives