У меня есть сокетный сервер PHP, который бездельничает в ожидании соединений, а затем обращается к базе данных для их разрешения. Он отлично работает, когда я тестирую, но потом, когда я оставляю его без дела, на следующее утро он больше не обращается к базе данных.
Когда я просматриваю свои журналы, я вижу это:
200327 11:54:37 24 Connect dbuser@localhost as anonymous on dbname
24 Quit
Там, где я ожидаю увидеть что-то более похожее на это:
200327 11:54:20 23 Connect dbuser@localhost as anonymous on dbname
23 Query SELECT * FROM table1 WHERE num=4
23 Query SELECT * FROM table2 WHERE num='4' AND info='deleted'
23 Query SELECT * FROM table3 WHERE num='4'
23 Quit
Но по какой-то причине, после того как сервер некоторое время работал, запросы после этого не проходят go. начальное соединение.
Единственное, о чем я могу думать, это то, что, возможно, мой объект PDO как-то истекает, поскольку я создаю его один раз, когда запускаю сервер.
$dbh = new PDO($dbName,$dbUser,$dbPass);
Любые мысли о том, что может происходить, и если создание объекта PDO в начале процесса не является правильным, как лучше управлять этим ресурсом?
PHP - это PHP 7.0.33, MySQL is 10.1.44-MariaDB-0 + deb9u1 Debian 9.11.