php で外部出力でコマンドを実行する

muramatsu 34views 更新:2016年9月26日

外部からコマンドを実行する関数は思った以上にありますが(全部で6種類ぐらい?) 基本的な関数だと思っている2つ紹介します
phpのスクリプトからLinuxのコマンドを実行することを仮定しています。


<?php //$output はコマンドの結果 $return_varは戻り値がそれぞれ格納されている exec (コマンド,$output,$return_var); system(コマンド,$output,$return_var); ?>

おもにエラーの出力を表示するかしないかでわけ使うことが出来ますが基本は同じだと思います またWebページで使うphpのスクリプト内で使う場合はそのapacheやらnginxやらウェブページを動かしているプログラムに実行権限を与えないとコマンドが使えない場合があります(とくにroot 権限で動かす必要があるやつは注意かもしれないです) apacheならば visudo で apache に実行権限を与えるもしくはそのコマンド実体そのものに chmod やら chown で権限を与えるもしくは そのapachの設定ファイルに記載することもできます。 例

exec ("sudo service hogehoge restart",$output);
system ("ls",$return_var)

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません