2014年9月30日火曜日

備忘録 : Linuxのコマンド(Apacheの再起動)、phpからLinuxのコマンドを実行する方法

PHPの案件をやっていると、どうしても、サーバーの設定に悩まされ続けることになる。

覚悟を決めてサーバーに接続してややこしい設定に挑むことがある。
サーバーへの接続には、接続のためのソフトを使う。私の会社PCでは、PuTTYというソフトを使っているみたい。Telnetとかターミナルとか呼ばれるやつと同系統なのかな?
開発の会社で、サーバーに詳しい人が建てた会社のサーバーなら、上記のソフトで接続して設定をいじれるけれど、レンタルサーバーなんかでは多分出来ない。

メモしておきたいのは以下の一行(サーバーのApacheを再起動する命令)

apachectl restart

これもついでにメモっておこうかな。
ターミナルでテキストファイルを編集する時、「vi」というテキスト編集ソフトでファイルを開くんだけど、そのコマンド。

コマンドモードと挿入モードとの切り替え
  コマンドモード→挿入モード: a i o のどれか
  挿入モード→コマンドモード: Escキー
ファイルの保存、終了: :wq
保存せずに強制終了: :q!


また、Linuxのコマンドは、PHPスクリプトから実行できる。

exec("Linuxコマンドの文字列");

ただし、実行されるのがPHPの命令ではなくLinuxの命令なので、いくつか注意点がある。
■戻り値がきれいに取れない
■Linuxの命令の実行は別スレッドでの非同期処理になるらしい

つまり、 Linuxで巨大なファイルを複製するとして、そのコマンドをPHPから実行した直後に、PHPの処理でその複製されたファイルにアクセスしようとしても、そのファイルはまだ存在してない可能性があるということみたいだ(PHPはLinuxコマンドの実行完了を待ってから次の処理に行くわけではないらしい)。

0 件のコメント:

コメントを投稿