Laravel:超出最长执行时间30秒

时间:2018-02-22 05:32:06

标签: php laravel laravel-5.5

我目前正在尝试用PHP做一些事情,但是阻止我的是错误消息,指出最大执行时间是30秒而且已经超过了。虽然这是事实,但我不明白为什么会这样,也许有人可以帮我找出原因?

我使用Laravel框架,这只是在编码忘记密码功能时才开始发生,这是我目前使用的代码。

在视图上发布表单时,它会运行此方法,这是发生崩溃的地方。

public function onPost(Request $request)
{
    $validator = Validator::make($request->all(), [
        'email' => 'required|exists:habbo_users,mail',
    ]);

    if ($validator->fails()) {
        return Redirect::back()->withErrors($validator)->withInput();
    }
    else {
        Mail::to($request->input('email'))->send(new ForgotPassword(User::where('mail', $request->input('email'))->first()));
        return Redirect::back()->with('message', 'We\'ve sent a reset link to your email, click the link included to reset your password.');
    }
}

错误的屏幕截图:https://i.imgur.com/zyv6Icn.png

3 个答案:

答案 0 :(得分:1)

重新考虑你的MailTo ::,在发送邮件时重置?为什么那个复杂的,如果它崩溃,一个接一个地尝试。也许看看laravel的原创帮助

https://github.com/laravel/framework/blob/5.6/src/Illuminate/Foundation/Auth/SendsPasswordResetEmails.php

答案 1 :(得分:0)

在php.ini中更改param max_execution_time的值可能有助于您解决问题。

答案 2 :(得分:0)

在php.ini中设置max_execution time = 0可以解决最大执行时间问题,但不需要这样做。使用队列发送邮件而不是直接停止执行。 Laravel Queues

send mail using queue