PHPでバックグランド処理について
PHPでバックグランドで処理させたいと考えています。
300通前後のメールを一括送信するために、この送信処理をバックグランドで処理させたいと考えています。
色々調べて、
system()関数とexec関数を知りました。
しかし、動きが上手くいきません。解決策や糸口をご教授頂けないでしょうか?
メールを送るファイル: back.php
フロントで実行するファイル:mai.php
で下記の様に書きました。
back.php
<?php
require_once('Mail.php');
$params = array(
"host" => "smtp.gmail.com",
"port" => 587,
"auth" => true,
"username" => "****@gmail.com",
"password" => "****"
);
$mailObj = Mail::factory("smtp",$params);
mb_language('ja');
mb_internal_encoding('utf-8');
$rec ='**_com2@yahoo.co.jp';
$header = array(
"To"=>$rec,
"From"=>"admin@**-terakoya.jp",
"Subject"=>mb_encode_mimeheader('これは件名')
);
$com = 'メール本文';
$com = mb_convert_encoding($com,"UTF-8","auto");
$mes =$mailObj -> send($rec,$header,$com);
if(PEAR::isError($mes)){
echo '<pre>';
var_dump($mes->getMessage());
echo '</pre>';
}
?>
実行するファイル
mail.php
var_dump(system("php www/htdocs/ac/back.php > /dev/null &"));
です。
パスの指定方法が問題なのかもしれないと思い色々試してみましたが最終的には無理でした。
ちなみに、本番サーバーの環境とXampp環境では何か違う方法が必要なのでしょうか?
上記例は、本番サーバーで記述した物です。
どうぞご教授お願いします。