PHP Laravel同时执行许多ajax请求将给出"加密密钥"服务器错误



请帮助我解决这个简单的PHP ajax请求问题,因为它在我的项目中阻止了我很长时间。

同时向 PHP 控制器发送许多(如 100 个(ajax GET 请求将给出"未指定应用程序加密密钥"错误。在Laravel中,我创建了以下路由器:

<?php
Route::get('/database/abc/load_single/{elementId}','abcController@loadSingle');

并且 abcController 定义为:

<?php
namespace AppHttpControllers;
class abcController extends Controller{
    public function loadSingle($elementId){
        return 'abc';
    }
}

然后在浏览器中,我同时发送 ajax GET 请求 100 次:

for (var index=0; index<100; index++){
    $.ajax({
        type: "GET",
        url: urlPrefix + "database/abc/load_single/10001",
    });
}

而且输出结果不稳定,我得到了 5 分(变化(中的 100 分,出现服务器错误。在日志文件中它说:

   [2017-11-18 10:31:53] production.ERROR: No application encryption key has been specified. {"exception":"[object] (RuntimeException(code: 0): No application encryption key has been specified. at C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Encryption\EncryptionServiceProvider.php:42)
[stacktrace]
#0 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Support\helpers.php(1035): Illuminate\Encryption\EncryptionServiceProvider->Illuminate\Encryption\{closure}(NULL)
#1 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Encryption\EncryptionServiceProvider.php(46): tap(NULL, Object(Closure))
#2 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Encryption\EncryptionServiceProvider.php(24): Illuminate\Encryption\EncryptionServiceProvider->key(Array)
#3 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Container\Container.php(749): Illuminate\Encryption\EncryptionServiceProvider->Illuminate\Encryption\{closure}(Object(Illuminate\Foundation\Application), Array)
#4 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Container\Container.php(631): Illuminate\Container\Container->build(Object(Closure))
#5 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Container\Container.php(586): Illuminate\Container\Container->resolve('encrypter', Array)
#6 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(721): Illuminate\Container\Container->make('encrypter', Array)
#7 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Container\Container.php(885): Illuminate\Foundation\Application->make('encrypter')
#8 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Container\Container.php(813): Illuminate\Container\Container->resolveClass(Object(ReflectionParameter))
#9 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Container\Container.php(780): Illuminate\Container\Container->resolveDependencies(Array)
#10 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Container\Container.php(631): Illuminate\Container\Container->build('App\\Http\\Middle...')
#11 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Container\Container.php(586): Illuminate\Container\Container->resolve('App\\Http\\Middle...', Array)
#12 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(721): Illuminate\Container\Container->make('App\\Http\\Middle...', Array)
#13 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(215): Illuminate\Foundation\Application->make('App\\Http\\Middle...')
#14 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(189): Illuminate\Foundation\Http\Kernel->terminateMiddleware(Object(Illuminate\Http\Request), Object(Illuminate\Http\JsonResponse))
#15 C:\xampp\htdocs\blank\public\index.php(60): Illuminate\Foundation\Http\Kernel->terminate(Object(Illuminate\Http\Request), Object(Illuminate\Http\JsonResponse))
#16 {main}
"} 
[2017-11-18 10:34:11] production.ERROR: No application encryption key has been specified. {"exception":"[object] (RuntimeException(code: 0): No application encryption key has been specified. at C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Encryption\EncryptionServiceProvider.php:42)
[stacktrace]
#0 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Support\helpers.php(1035): Illuminate\Encryption\EncryptionServiceProvider->Illuminate\Encryption\{closure}(NULL)
#1 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Encryption\EncryptionServiceProvider.php(46): tap(NULL, Object(Closure))
#2 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Encryption\EncryptionServiceProvider.php(24): Illuminate\Encryption\EncryptionServiceProvider->key(Array)
#3 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Container\Container.php(749): Illuminate\Encryption\EncryptionServiceProvider->Illuminate\Encryption\{closure}(Object(Illuminate\Foundation\Application), Array)
#4 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Container\Container.php(631): Illuminate\Container\Container->build(Object(Closure))
#5 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Container\Container.php(586): Illuminate\Container\Container->resolve('encrypter', Array)
#6 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(721): Illuminate\Container\Container->make('encrypter', Array)
#7 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Container\Container.php(885): Illuminate\Foundation\Application->make('encrypter')
#8 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Container\Container.php(813): Illuminate\Container\Container->resolveClass(Object(ReflectionParameter))
#9 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Container\Container.php(780): Illuminate\Container\Container->resolveDependencies(Array)
#10 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Container\Container.php(631): Illuminate\Container\Container->build('App\\Http\\Middle...')
#11 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Container\Container.php(586): Illuminate\Container\Container->resolve('App\\Http\\Middle...', Array)
#12 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(721): Illuminate\Container\Container->make('App\\Http\\Middle...', Array)
#13 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(138): Illuminate\Foundation\Application->make('App\\Http\\Middle...')
#14 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#15 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#16 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Routing\Router.php(647): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#17 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Routing\Router.php(622): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#18 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Routing\Router.php(588): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))
#19 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Routing\Router.php(577): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#20 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(176): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#21 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php(30): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#22 C:\xampp\htdocs\blank\vendor\fideloper\proxy\src\TrustProxies.php(56): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#23 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(149): Fideloper\Proxy\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))
#24 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#25 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#26 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(149): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#27 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#28 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#29 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(149): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#30 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#31 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ValidatePostSize.php(27): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#32 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(149): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))
#33 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#34 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#35 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(149): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#36 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#37 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#38 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(151): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#39 C:\xampp\htdocs\blank\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#40 C:\xampp\htdocs\blank\public\index.php(55): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#41 {main}
"} 

对于这个问题,我应该错过了一些配置。请帮助我解决这个问题。非常感谢。

首先,确保您已设置APP_KEY .env文件。

现在,如果您确实设置了它,请尝试运行php artisan config:cache缓存配置。此外,如果您直接在应用程序中使用APP_KEY,请确保您使用的是相应的配置键。

如果在 .env 文件中新创建的密钥通过以下方式

php artisan key:generate

没有帮助,那么您应该清除缓存并通过以下方式为您的 Laravel 配置制作新的缓存

php artisan config:cache

不要忘记在配置更改后重新启动Apache/nginx。

最新更新