PHP MySQL数据库连接保持活动状态多长时间?

时间:2012-02-24 06:03:14

标签: php mysql database-connection

我有一个长期运行的PHP脚本。我在脚本的最开始处建立数据库连接,并在启动时执行一些数据库操作。

之后,该脚本执行4个小时的PHP操作,而无需使用该连接ping MySQL,即使是一次。

在这些长时间运行的PHP操作结束时,当我尝试执行mysql_query时,它会出现以下错误:MySQL Server has gone Away

是否有可能将连接超时增加到4小时?我正在使用PHP ADODB从我的PHP应用程序连接MySQL。

请建议做什么?

1 个答案:

答案 0 :(得分:12)

MySQL的超时时间与PHP不同。您可以在php.ini行的mysql.connect_timeout = 14400中将其增加。同时增加default_socket_timeout = 14400

请注意,如果您的PHP设置允许您执行ini_set,您还可以执行以下操作:

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