Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.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
Lumen:1s,Laravel:5s用于简单的api调用?_Laravel_Performance_Api_Lumen - Fatal编程技术网

Lumen:1s,Laravel:5s用于简单的api调用?

Lumen:1s,Laravel:5s用于简单的api调用?,laravel,performance,api,lumen,Laravel,Performance,Api,Lumen,所以不久前我开始了一个关于拉威尔的API项目,我想为什么不给Lumen一个机会呢。但最后,我想用圣殿,社交名流等等。。。我几乎在任何地方都读到,如今的性能差异并没有那么大 所以我将我的代码从Lumen迁移到Laravel,经过一些调整后,一切都像以前一样工作。。。除了现在一个非常简单的API调用需要5秒。当然,这可能是我的设置-wsl2不是特别快。但是,同样的流明通话需要约1000毫秒 Route::post('register', [AuthController::class, 'regist

所以不久前我开始了一个关于拉威尔的API项目,我想为什么不给Lumen一个机会呢。但最后,我想用圣殿,社交名流等等。。。我几乎在任何地方都读到,如今的性能差异并没有那么大

所以我将我的代码从Lumen迁移到Laravel,经过一些调整后,一切都像以前一样工作。。。除了现在一个非常简单的API调用需要5秒。当然,这可能是我的设置-wsl2不是特别快。但是,同样的流明通话需要约1000毫秒

Route::post('register', [AuthController::class, 'register']);
控制器:

    public function register(Request $request): JsonResponse {
        $this->validate($request, [
            'phone' => 'required|string|phone',
            'phone_country' => 'required_with:phone',
        ]);

        $phone = phone($request->get('phone'), [$request->get('phone_country')]);

        try {
            $user = User::createByPhone($phone);

            return response()->json(['user' => $user->id, 'message' => 'SMS_SENT'], 201);
        } catch (\Exception $e) {
            return response()->json(['message' => 'User Registration Failed - ', 'error' => $e], 409);
        }
    }
    public static function createByPhone($phone) {
        return DB::transaction(function () use ($phone) {
            $user = User::create();
            $user->phoneNumbers()->create([
                'did' => $phone
            ]);

            return $user;
        });
    }
模型中的函数:

    public function register(Request $request): JsonResponse {
        $this->validate($request, [
            'phone' => 'required|string|phone',
            'phone_country' => 'required_with:phone',
        ]);

        $phone = phone($request->get('phone'), [$request->get('phone_country')]);

        try {
            $user = User::createByPhone($phone);

            return response()->json(['user' => $user->id, 'message' => 'SMS_SENT'], 201);
        } catch (\Exception $e) {
            return response()->json(['message' => 'User Registration Failed - ', 'error' => $e], 409);
        }
    }
    public static function createByPhone($phone) {
        return DB::transaction(function () use ($phone) {
            $user = User::create();
            $user->phoneNumbers()->create([
                'did' => $phone
            ]);

            return $user;
        });
    }
所以,非常简单的事情。现在,为什么要花这么长时间~6000毫秒。我错过什么了吗

(更一般地说,有没有一种方法可以从Laravel中删除API不需要的东西?)


谢谢。我看不出你的代码有什么问题。我想这与wsl2读取文件的速度有关。我们在Docker遇到了windows机器和Laravel的问题。我们在项目中添加了Swoole,这对WSL2有很大帮助


Laravel现在有一个名为“将Swoole添加到项目中”的第一方软件包。您可以尝试安装它,看看它是否有帮助。

谢谢,我会尝试的-尽管我仍然想知道为什么流明会有这么大的差异