“MySQL server has gone away”的重现方法(PHP)

2014-11-24 15:43:40 · 作者: · 浏览: 0
“MySQL server has gone away”的重现方法( PHP)
如果想调试“MySQL server has gone away”的问题,可以这样重现:
修改配置文件:
[ html]
sudo vi /etc/ mysql/my.cnf
做如下修改:
[html]
[mysqld]
wait_timeout = 30
interactive_timeout = 30
重启服务:
[html]
sudo /etc/init.d/mysql restart
编写如下php脚本
[php]
< php
$link = mysql_connect('127.0.0.1', 'root', 'root');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
sleep(31);
$result = mysql_query('show variables;');
if (!$result) {
die('Invalid query: ' . mysql_error());
}
while ($row = mysql_fetch_assoc($result)) {
var_dump($row);
}
mysql_free_result($result);
mysql_close($link);
>
执行:
[plain]
$ php mysql.php
Connected successfully
Invalid query: MySQL server has gone away
或者在命令行下也可以看到这个错误了:
[plain]
mysql> select variables like '%timeout';
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 40
Current database: *** NONE ***