Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 最长执行时间超过30秒Laravel 4错误_Php_Html_Laravel_Laravel 4 - Fatal编程技术网

Php 最长执行时间超过30秒Laravel 4错误

Php 最长执行时间超过30秒Laravel 4错误,php,html,laravel,laravel-4,Php,Html,Laravel,Laravel 4,在Laravel4中,我的UserController中有一个发送密码请求的函数出现问题。它检查数据库中是否存在电子邮件,如果用户存在,则发送电子邮件。然后,该函数在表中创建一个令牌,并在电子邮件中的链接末尾发送该令牌 该函数的工作原理与在数据库中创建令牌相同,但似乎有问题,因为我一直在获取最大执行时间错误。我不知道是什么原因造成的,这似乎与重定向有关。有人能帮我吗?提前谢谢 以下是控制器的功能: public function passwordRequest() { $

在Laravel4中,我的UserController中有一个发送密码请求的函数出现问题。它检查数据库中是否存在电子邮件,如果用户存在,则发送电子邮件。然后,该函数在表中创建一个令牌,并在电子邮件中的链接末尾发送该令牌

该函数的工作原理与在数据库中创建令牌相同,但似乎有问题,因为我一直在获取
最大执行时间
错误。我不知道是什么原因造成的,这似乎与重定向有关。有人能帮我吗?提前谢谢

以下是控制器的功能:

public function passwordRequest()
    {
        $data = [
            "requested"=>Input::old("requested")
        ];

        if(Input::server("REQUEST_METHOD") == "POST") {

            $input = Input::all();
            $rules = [
                "email" => "required|exists:users,email"
            ];
            $v = Validator::make($input, $rules);

            if($v->passes()) {
                $credentials = [
                    "email" => Input::get("email"),
                ];

                Password::remind($credentials, function($message, $user) {
                    $message->from("request@test.com");
                });

                $data["requested"] = true;

                return Redirect::route("user/request")->with($data);
            }

            return Redirect::to(URL::route("user/request"))->withInput($data)->withErrors($v);
        }

        return View::make("user/request", $data);
    }
以下是routes.php文件:

Route::group(["before"=>"guest"], function() {
    Route::any("/", [
        "as"=>"user/login",
        "uses"=>"UserController@userLogin"
    ]);

    Route::any("/request", [
        "as"=>"user/request",
        "uses"=>"UserController@passwordRequest"
    ]);

    Route::any("/reset", [
        "as"=>"user/reset",
        "uses"=>"UserController@passwordReset"
    ]);

    Route::any("/register", [
        "as" => "user/register", 
        "uses" => "UserController@userRegister"
    ]);
})

;
以下是视图(如果需要):

@extends("layouts.master")

@section("content")
<h1>Request Password Reset</h1>

{{ Form::open([
    "route"=>"user/request",
    "autocomplete"=>"off"
]) }}

    @if(isset($errors))
        @foreach ($errors->all() as $error)
            <div class="error">
                <li>{{ $error }}</li>
            </div>
        @endforeach
    @endif

    @if(Session::has("requested"))
        <div class="success">
            <li>An email has been sent with your password reset request.</li>
        </div>
        {{ Session::forget('requested') }}
    @endif
    <br />
    {{ Form::label("email", "Email:") }}
    {{ Form::text("email", Input::old("email"), [
        "placeholder"=>"Email Address"
    ]) }}

    {{ Form::submit("Reset") }}

{{ Form::close() }}
<br />
{{ HTML::linkRoute("user/login", "Return to Login") }}
@stop
@extends(“layouts.master”)
@第节(“内容”)
请求密码重置
{{Form::open([
“路由”=>“用户/请求”,
“自动完成”=>“关闭”
]) }}
@如果(isset($errors))
@foreach($errors->all()作为$error)
  • {{$error}}
  • @endforeach @恩迪夫 @如果(会话::已(“请求”))
  • 已发送带有密码重置请求的电子邮件
  • {{会话::忘记('requested')} @恩迪夫
    {{Form::label(“email”,“email:”)} {{表单::文本(“电子邮件”),输入::旧(“电子邮件”)[ “占位符”=>“电子邮件地址” ]) }} {{Form::submit(“Reset”)} {{Form::close()}}
    {{HTML::linkRoute(“用户/登录”,“返回登录”)} @停止
    您的脚本执行时间超过
    30
    秒,并被终止,与
    Laravel
    无关,但与
    php
    无关。默认限制为
    30
    秒,存储在
    php.ini
    文件中。要临时延长时间限制,您可以在当前脚本中使用以下行if代码,但也可以尝试优化脚本(如果可能)

    您可以设置时间限制(0);这样脚本将永远运行- 但是,不建议这样做,您的web服务器可能会捕获您 通过强制HTTP超时(通常约5分钟)退出

    您也可以使用

    ini_set('max_execution_time', 60);
    

    问题实际上出在我使用的wifi上。我从它断开连接,又连接到另一个,一切正常。我从未遇到过wifi不允许本地主机发送电子邮件的问题。谢谢你的帮助

    如何在laravel而不是php.ini中添加set_time_limit?@AbhishekKumar,在服务提供商中,可能在appserviceprovider中。
    ini_set('max_execution_time', 60);