1

当我尝试在 flex 中连接到 php 服务时,我遇到了这样的错误。(我正确地给出了 root、密码、数据库名称)

Warning: mysqli_connect() [<a href='function.mysqli-connect'>function.mysqli-connect</a>]: MySQL server has gone away in C:\wamp\www\harisample\services\SamplePhp.php on line 54
4

1 回答 1

0

当您收到MySQL server has gone away错误时,这意味着正在发生以下情况之一:

  1. 客户端无法向服务器发送问题。
  2. 客户端在写入服务器时没有收到错误,但它没有得到问题的完整答案(或任何答案)。
  3. 您尝试在关闭与服务器的连接后运行查询。这表明应用程序中存在需要纠正的逻辑错误。
  4. 在不同主机上运行的客户端应用程序没有从该主机连接到 MySQL 服务器的必要权限。
  5. MYSQL_OPT_READ_TIMEOUT 或 MYSQL_OPT_WRITE_TIMEOUT 变量太低
  6. 你在服务器端遇到了超时,客户端的自动重连被禁用(MYSQL结构中的重连标志等于0)。
  7. 您正在使用 Windows 客户端,并且服务器在发出命令之前已断开连接(可能是因为 wait_timeout 已过期)。

解决这个问题可能很简单,但前提是您对服务器具有完全的 root 访问权限。

  1. 您可以通过在启动 mysqld 时设置 wait_timeout 变量来更改时间限制。有关详细信息,请参阅此链接
  2. 如果您有脚本,您只需再次发出查询,客户端即可自动重新连接。这假设您在客户端启用了自动重新连接(这是 mysql 命令行客户端的默认设置)。
于 2013-03-19T18:33:52.230 回答