Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zniknął wyjątek PHP PDO + ostrzeżenie dotyczące MySQL?

Ustawiasz wait_timeout do 1 to śpisz 3, co się stanie? MySql zamknie połączenie po jednej sekundzie i pojawi się błąd „Mysql Server has gone away” wraz z następnym stwierdzeniem „ponieważ śpisz 3”.

http://dev.mysql.com /doc/refman/5.1/en/server-system-variables.html#sysvar_wait_timeout

edytuj

Pytanie jest duplikatem Błąd MySQL 2006:mysql serwer zniknął

edytuj 2

Przyczyny tego błędu:

  • niski wait_timeout - rozwiązanie:ping, ponowne połączenie lub też zwiększenie
  • duże pakiety - rozwiązanie:dostroić max_allowed_packet w my.cfg

Ponowne połączenie PDO - symuluj ping w PDO Jak pingować bazę danych MySQL i ponownie połączyć się za pomocą PDO

edytuj 3 pytanie zaktualizowane

Jedynym sposobem (afaik) na pozbycie się tych ostrzeżeń jest ustawienie oczekiwanego (np. E_ERROR) zgłaszanie_błędów poziom. Możesz zawinąć wywołania pdo, na przykład, aby ustawić E_ERROR przed i zresetować do wartości domyślnych po wykonaniu.

PDO rejestruje ostrzeżenia/błędy do celów logowania (sic!) w celu dalszej analizy. Ustawiony atrybut (przez setAttribute lub konstruktor) zmienia tylko obsługę błędów/zachowanie pdo - rzucaj lub nie:). Te dwie rzeczy są oddzielone.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wydajność wkładania wsadowego JDBC

  2. Dynamiczne pole wyboru PHP MYSQL

  3. spraw, aby wszystkie liczby całkowite z automatycznym przyrostem miały taką samą liczbę cyfr z wiodącymi zerami

  4. MySQL Wybierz pierwszy dzień roku i miesiąca

  5. Wykonywanie wielu zapytań SQL w jednej instrukcji z PHP