Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Adakah Pilihan PHP mysql.connect_timeout Menyebabkan Tamat Masa Sambungan Pelayan MySQL Selepas 60 Saat?

Adakah Pilihan PHP mysql.connect_timeout Menyebabkan Tamat Masa Sambungan Pelayan MySQL Selepas 60 Saat?

Barbara Streisand
Barbara Streisandasal
2024-10-18 22:10:30338semak imbas

Is the mysql.connect_timeout PHP Option Causing MySQL Server Connection Timeouts After 60 Seconds?

Masalah terputus sambungan Pelayan MySQL: terputus sambungan 60 saat selepas tamat masa

Masalah:

Saya dapati bahawa pertanyaan SQL yang sebelum ini berjalan dengan baik kini tamat selepas 60 saat dan menimbulkan ralat. Walaupun pertanyaan itu perlahan, ia dijalankan sebagai sebahagian daripada kerja malam, jadi ia tidak menjadi masalah per se (jadi tolong jangan cadangkan saya mengoptimumkannya).

Saya boleh menghasilkan semula ralat secara konsisten dengan menjalankan "select SLEEP(120);" daripada PHP seperti yang ditunjukkan di bawah. Walau bagaimanapun, menjalankan pernyataan yang sama daripada klien MySQL berjaya (mengembalikan 0). Saya cuba melaraskan tunggu_masa tamat (ditetapkan kepada 28800) tetapi tidak berjaya. Saya juga memulakan semula pelayan pangkalan data dan komputer itu sendiri.

Saya sentiasa mendapat tamat masa tepat 60 saat, yang membuatkan saya fikir ia mungkin isu persediaan dan bukannya isu kekangan sumber.

Saya sedang menjalankan:

  • Windows Server 2003
  • MySQL 5.1.36-community
  • PHP 5.3

Berikut ialah kod ujian saya, output dan keputusan SHOW VARIABLES.

... 代码、输出和 SHOW VARIABLES 如下所示 ...

Jawapan:

pilihan php mysql.connect_timeout ialah punca isu ini. Ia digunakan bukan sahaja untuk tamat masa sambungan tetapi juga untuk menunggu respons pertama daripada pelayan. Anda boleh meningkatkannya seperti ini:

ini_set('mysql.connect_timeout', 300);
ini_set('default_socket_timeout', 300); 

Atas ialah kandungan terperinci Adakah Pilihan PHP mysql.connect_timeout Menyebabkan Tamat Masa Sambungan Pelayan MySQL Selepas 60 Saat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn