使用Laravel 4.2中的Mail :: send执行时间超过30秒时出错

时间:2014-08-20 06:53:37

标签: php email laravel-4 wampserver execution-time

我正在设置laravel来发送电子邮件。所以,我正在测试laravel发送100封电子邮件。有时候它有效,有时却没有。我注意到,如果发送这100封电子邮件所花费的时间超过30秒,那么它将失败。但是,如果它只需不到30秒,那么它将成功发送所有100封电子邮件。

class EmailController extends BaseController
{
    public function sendMail()
    {
            //user_json is data retrived from json    
            $users_json = 'json_input';    
            $users = json_decode($users_json, true);

            foreach($users as $user)
            {
                Mail::send('message', $user, function($message) use ($user)
                {
                    $message->to($user['email'], $user['first_name'])
                            ->subject('Laravel Email Test');
                });

            }       
    }
}

我用我的laravel使用了wamp。我已经增加了wamp中php.ini文件的执行限制。

max_execution_time = 300
max_input_time = 600
memory_limit = 1024M

如果超过30秒,电子邮件发送仍然失败。是否有另一个php.ini文件(在laravel中)我应该更改以增加限制?是否有更好的方法来优化此邮件:发送,因为我可能需要每天发送100k电子邮件?

1 个答案:

答案 0 :(得分:0)

WAMPServer中有2个php.ini文件,就像许多Apache / PHP实例一样。

确保使用WAMPManager图标菜单编辑Apache使用的菜单。

wampmanager -> Apache -> httpd.conf

另一个存在于\wamp\bin\php\phpx.y.z\php.ini中并在运行PHP CLI(命令行界面)时使用