【问题标题】:Dealing with MySQL Gone Away in Zend Framework 1在 Zend Framework 1 中处理 MySQL Gone Away
【发布时间】:2016-08-17 11:39:03
【问题描述】:

我有这个伪代码:

$id = 1;
$orders = new Orders(); // extends Zend_Db_table
$order = $order->fetchOrderById($id); // $order extends Zend_Db_Table_Row_Abstract

... some long things ...

$order->value = "something";
$order->save();

有时结果是:

SQLSTATE[HY000]: General error: 2006 MySQL server has gone away

我发现了这个: http://lornajane.net/posts/2011/dealing-with-mysql-gone-away-in-zend-framework

这会是解决方案吗?

... some long things ...

$order->value = "something";
$order->getTable()->getAdapter()->getConnection();
$order->save();

或者我应该这样做吗?

... some long things ...

$order->value = "something";
$db = Zend_Registry::get('db');
$db->getConnection();
$order->save();

还是别的什么?

【问题讨论】:

  • 这些解决方案是否适合您?

标签: php mysql zend-framework


【解决方案1】:

“MySQL 服务器已消失”通常表示与数据库的连接超时。您通常会在长时间运行的脚本中看到这一点,这些脚本可能已经运行了几分钟而没有数据库交互。

您建议的两个解决方案基本相同。它们都重新获取 DB 连接,在 Zend DB 中包括在需要时重新连接。所以他们中的任何一个都应该解决问题。

【讨论】:

    猜你喜欢
    • 2012-10-30
    • 1970-01-01
    • 2011-02-04
    • 2013-12-16
    • 2011-12-11
    • 2016-02-15
    • 2012-12-19
    • 2015-11-04
    • 2019-10-13
    相关资源
    最近更新 更多