PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Podczas wywoływania DB::select dlaczego otrzymuję komunikat Połączenie zostało zresetowane?

Trudną częścią tego była uparta odmowa przeglądarki ujawniania jakiejkolwiek formy komunikatu o błędzie. Kiedy tak się dzieje, lubię przejść do wiersza poleceń i spróbować, eliminując w ten sposób serwer sieciowy jako zmienną.

Z czatu dowiedzieliśmy się, że wiersz poleceń wyświetlał błąd zgodnie z oczekiwaniami, ale nie zrobił tego z wdziękiem:błąd został wyświetlony, a skrypt został zatrzymany. To poważna awaria, której nie można przypisać serwerowi WWW.

Wraz z wprowadzeniem \Throwable , scenariusze, w których PHP umiera ciężko, stają się coraz rzadsze. Tak więc, aby złapać ostatni oddech PHP, zaimplementowaliśmy register_shutdown_function który ściągnął error_get_last próbując dowiedzieć się, co, jeśli w ogóle, zostało powiedziane tuż przed wybuchem.

To ujawniło krótko komunikat o błędzie w przeglądarce (tym razem przy użyciu innej przeglądarki). Nie było to jednak powtarzalne. W tym momencie wglądem było buforowanie:composer dump-autoload naprawiono problem!

Podejrzewam, że stało się tak:

  • Eloquent rzucił wyjątek
  • PHP bulgotał przez klasy obsługi wyjątków Laravela
  • W pewnym momencie PHP próbowało załadować klasę, której nie było w autoloaderze
  • PHP uległ poważnej awarii (jest to jeden z tych przypadków, w których PHP 7.0 zwalnia)

Uruchamiając composer dump-autoload , wszystkie „brakujące” klasy zostały przeniesione do obszaru działania autoloadera i przy kolejnej próbie wystąpiła poprawna sekwencja kodu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. wyszukiwanie pełnotekstowe postgres, takie jak operator

  2. konwertuj datę na liczbę całkowitą w postgresql

  3. BŁĄD:rozdzielany identyfikator o zerowej długości w lub w pobliżu LINE 1:DELETE FROM regiony WHERE regiony. =$1

  4. SQL -- obliczanie dat zakończenia od podanej daty rozpoczęcia z arbitralnymi przerwami

  5. Heroku Postgres Error:PGError:ERROR:organizacje relacyjne nie istnieją (ActiveRecord::StatementInvalid)