Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inny][Laravel5] Wywala czasami 500 Internal Server Error
Forum PHP.pl > Forum > PHP > Frameworki
styryl
Problem występuje gdy wykonuje się szybko wiele requestów w krótkim czasie arrowheadsmiley.png aby lepiej zobrazować o co chodzi screen:



Nie wiem jak dokładnie opisać ten problem. Dodam że wyszło to przy rest api do którego podłączonych jest wielu klientów z tego samego adresu ip. Nawet przy świeżej instalacji laravela bez żadnych zmian dzieje się to samo. Problem ten nie występuje w laravel 4.2. Czy to jest wina frameworka? Czy też problem jest po stronie konfiguracji serwera?
Pyton_000
Logi php mówią że... questionmark.gif
styryl
Logi php mówią że, przy czym klucz jest ustawiony poprawnie.

  1. [2015-06-26 09:54:10] local.ERROR: exception 'RuntimeException' with message 'No supported encrypter found. The cipher and / or key length are invalid.' in C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Encryption\Encryptio
    nServiceProvider.php:29
  2. Stack trace:
  3. #0 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Container\Containe
    r.php(733): Illuminate\Encryption\EncryptionServiceProvider->Illuminate\Encryption\{closure}(Object(Illuminate\Foundation\Application), Array)
  4. #1 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Container\Containe
    r.php(626): Illuminate\Container\Container->build(Object(Closure), Array)
  5. #2 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Foundation\Applica
    tion.php(674): Illuminate\Container\Container->make('encrypter', Array)
  6. #3 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Container\Containe
    r.php(837): Illuminate\Foundation\Application->make('Illuminate\\Cont...')
  7. #4 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Container\Containe
    r.php(800): Illuminate\Container\Container->resolveClass(Object(ReflectionParameter))
  8. #5 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Container\Containe
    r.php(771): Illuminate\Container\Container->getDependencies(Array, Array)
  9. #6 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Container\Containe
    r.php(626): Illuminate\Container\Container->build('App\\Http\\Middle...', Array)
  10. #7 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Foundation\Applica
    tion.php(674): Illuminate\Container\Container->make('App\\Http\\Middle...', Array)
  11. #8 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.
    php(123): Illuminate\Foundation\Application->make('App\\Http\\Middle...')
  12. #9 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Foundation\Http\Mi
    ddleware\CheckForMaintenanceMode.php(42): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
  13. #10 [internal function]: Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
  14. #11 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.
    php(124): call_user_func_array(Array, Array)
  15. #12 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
  16. #13 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.
    php(103): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
  17. #14 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Foundation\Http\Ke
    rnel.php(118): Illuminate\Pipeline\Pipeline->then(Object(Closure))
  18. #15 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Foundation\Http\Ke
    rnel.php(86): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
  19. #16 C:\xampp\htdocs\test5\public\index.php(54): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
  20. #17 {main}
  21. [2015-06-26 09:54:10] local.ERROR: exception 'RuntimeException' with message 'No supported encrypter found. The cipher and / or key length are invalid.' in C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Encryption\Encryptio
    nServiceProvider.php:29
  22. Stack trace:
  23. #0 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Container\Containe
    r.php(733): Illuminate\Encryption\EncryptionServiceProvider->Illuminate\Encryption\{closure}(Object(Illuminate\Foundation\Application), Array)
  24. #1 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Container\Containe
    r.php(626): Illuminate\Container\Container->build(Object(Closure), Array)
  25. #2 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Foundation\Applica
    tion.php(674): Illuminate\Container\Container->make('encrypter', Array)
  26. #3 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Container\Containe
    r.php(837): Illuminate\Foundation\Application->make('Illuminate\\Cont...')
  27. #4 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Container\Containe
    r.php(800): Illuminate\Container\Container->resolveClass(Object(ReflectionParameter))
  28. #5 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Container\Containe
    r.php(771): Illuminate\Container\Container->getDependencies(Array, Array)
  29. #6 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Container\Containe
    r.php(626): Illuminate\Container\Container->build('App\\Http\\Middle...', Array)
  30. #7 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Foundation\Applica
    tion.php(674): Illuminate\Container\Container->make('App\\Http\\Middle...', Array)
  31. #8 C:\xampp\htdocs\test5\vendor\laravel\framework\src\Illuminate\Foundation\Http\Ke
    rnel.php(135): Illuminate\Foundation\Application->make('App\\Http\\Middle...')
  32. #9 C:\xampp\htdocs\test5\public\index.php(58): Illuminate\Foundation\Http\Kernel->terminate(Object(Illuminate\Http\Request), Object(Illuminate\Http\Response))
  33. #10 {main}


W głównej aplikacji wyrzuca też notFoundException (oczywiście też przy wielu szybkich requstach)
Pyton_000
Spróbuj ustawić w .env

APP_KEY=xlhF31NeOlibJcoOW9tvZg7TkHcAZI3a

(lub cokolwiek 32 znaki)
styryl
Tak też na początku myślałem, ustawiłem, generowałem ponownie, wklejałem beżpośednio do configa. I efekt ten sam.
nrm
dziwna sytuacja, rozumiem, że cipher => AES-256-CBC, a jakbyś zmienił na 128 i sprawdził 16znakowy hash? php artisan key:generate
Pyton_000
Wygląda to tak jakby Laravel nie mógł odczytać kluczy z configu, lub funkcja env() nie wyrabia

Rozumiem że jeśli odpalisz normalnie czyli 1 request to działa normalnie?
styryl
@nrm To samo, tylko tak jak pisałem wcześniej, czasami wywala też \Symfony\Component\HttpKernel\Exception\NotFoundHttpException więc raczej kwestia klucza to nie będzie.

@Pyton_000 Tak przy jednym requescie działa normalnie, tylko przy wielu zaczynają się jaja - oczywiście laravel 4.2 działa bez preblemu więc chyba z serwerem jest wszystko ok.
Pyton_000
Spróbuj postawić to na jakimś innym serwerze, bo wygląda jakby się dławił.

I te requesty wykonujesz Ajax-em co 20ms?
styryl
Próbowałem już na 2 serwerach, normalnie zapytania wychodzą po http get/post z aplikacji zewnętrznej:

- - [26/Jun/2015:12:43:14 +0200] "GET /smsy/api/v1/sms/task/get?imei=860-------855 HTTP/1.0" 200 155 "-" "Mozilla/3.0 (compatible; Indy Library)"
- - [26/Jun/2015:12:43:14 +0200] "POST /smsy/api/v1/sms/task/status HTTP/1.0" 200 12 "-" "Mozilla/3.0 (compatible; Indy Library)"

Ja to zasymulowałem w firebugu szybko odświeżając strone thumbsupsmileyanim.gif
Pyton_000
Czyli robiłeś F5 ?
styryl
Tak wstydnis.gif
Pyton_000
facepalmxd.gif sciana.gif blink.gif

A słyszał ty o benchmarkach typu ab ?
https://pl.wikipedia.org/wiki/ApacheBench
styryl
Słyszał, ale co to zmieni skoro ten sam błąd uzyskuje.
Pyton_000
pokaż zrzut z AB
styryl
ab -n 100 -c 10

Pyton_000
masz odrzuconych tylko 8 requestów

To teraz pokaż metodę wywoływaną.
styryl
Niestety nie mogę udostępnić kodu publicznie, powtórzyłem ab na innym roucie:

  1. public function getLogin()
  2. {
  3. return View::make($this->viewPath.'.getLogin',[
  4. 'path' => 'core.backend.getLogin',
  5. 'jsPath' => 'modules/core/backend.login'
  6. ]);
  7. }




Chyba problem rozwiązany, wgrałem poprawkę i obserwuję - na sztywno ustawiłem wszystkie ustawienia nie wykorzystując env(), tak jak wpomniał Pyton_000 funkcja chyba nie do końca działa.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.