php

【php】execを使って裏でphpを実行させてみました。値(引数)も2つ渡す。

更新日:

phpでcronとか使ったりすると、そのファイル内で外部ファイルphpを実行させたい時あると思います。そんな時はexec()を使って実行してみましょう。非同期処理。

やりたい事

1.cronを使ってphpファイルを定期実行させたい。ファイル名:a.php
2.定期実行させたa.phpのファイル内でb.phpを実行させたい。
※その際、値をb.phpへ渡したい

cronで実行させるファイル

$value1 = 'test1';
$value2 = 'test2';

$exec = $value1.' '.$value2;
exec('/usr/local/bin/php /home/xxxxx/public_html/cron/b.php '.$exec.' > /dev/null &')

※mixhostのレンタルサーバーで実施してみました。
※フルパスで記載

execで実行させたファイル、値2つ取得

$exec_out0 = $argv[0];//ファイル場所取得/home/xxxxx/public_html/cron/b.php
$exec_out1 = $argv[1];//test1取得
$exec_out2 = $argv[2];//test2取得

参考

php マニュアル exec

今回、PHPでexec関数を使いバックグラウンドでコマンドラインを使い処理を行う方法を試しました。

コマンドラインでの引数の渡し方

-php

Copyright© Code Custom , 2022 All Rights Reserved.