我目前正在尝试用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
答案 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