猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

未分類

CakePHPからphpスクリプトをバックグラウンドで起動する

投稿日:

時間のかかる処理がある場合、
phpスクリプトをキックするだけで画面ではレスポンスを返したい場合があります。

app/Console/Command/text.php
に実行したいphpスクリプトを置きます。
ディレクトリの権限には注意する必要があります。

コントローラー側では以下のようにスクリプトを呼び出します。

public function phpexcute(){

    $cmd='/usr/bin/php /var/www/html/cakephp/app/Console/Command/test.php > /dev/null &';
    Debugger::dump(exec($cmd));
}

ポイントは
/usr/bin/php の引数として実行したいphpファイルを指定することと、
/dev/null &
です。

/dev/null &
をいれないと、処理が終了するまで画面がとまってしまいます。

Gooleアドセンス用336

Gooleアドセンス用336

-未分類
-,

執筆者:

関連記事

CakePHPでSQLを直接実行する

正直find等を使用するのは面倒です。 SQLを直接実行するには以下のようにします。 $sql=’select count(*) as cnt, referer from acls where con …

CakePHPのlayoutを指定する

ログイン画面ではメニューが不要であったりと、 レイアウトを変更したい場合はコントローラーのアクションで以下のように指定します。 View/Layout/配下に作成したレイアウトを指定すればよいのですが …

「Cookie」と「セッション」と「セッションCookie」の違い

セッションという日本語のイメージこそ、最も注意すべき点です。 WEBサーバーとブラウザの間には、トンネルのような物理的な接続状態は存在しません。 一回ポッキリのデータのリクエスト・レスポンスしかHTT …

CakePHPで定数を定義する

定数の定義には Configの下にconst.php を作成するのが一番良いかと思われます。 そのために、 Config/bootstrap.php に require_once(‘con …

CakePHPでパスワードを暗号化して保存する

CakePHPでパスワードを暗号化して保存するには、 モデルにbeforeSaveメソッドを以下のように追加します。 モデル User.php App::uses(‘AuthComponent’, ‘ …