Blog スタッフブログ

PHP システム開発

[PHP]バックグラウンド処理の呼び出し

システム開発担当のTFです。

やり方

  • execで別処理を呼び出す
  • その際に、戻り値を無くす設定にする( コマンドに “> /dev/null &” をつける )

メモ

動画の圧縮処理等の重く時間のかかる処理を、ブラウザから実行し結果を待たずにすぐに戻したい時などに利用。

“> /dev/null &” をコマンドにつけない場合、実行結果を待ってから次の処理が実行される。

サンプル

<?php

// 何かの処理

// サーバーのphpのパス( 環境により変わる為、要確認 )
$php_path = "/usr/bin/php";

// phpの実行ファイルのパス
$file_path = "実行したいPHPファイルパス";

// 時間のかかる処理を別処理で実行( 処理結果を待たずにすぐに次の処理が実行される )
exec($php_path.' '.$file_path.' > /dev/null &');

// リダイレクト等

	
?>