我刚刚将我的drupal网站移动到另一个域/主机
我移动了数据库,现在移动了我的所有网站。但是当我访问网站(juniorsteps.be)时,我得到以下异常:
PDOException:SQLSTATE [HY000] [2013]在“读取初始通信数据包”时失去与MySQL服务器的连接,系统错误:111在lock_may_be_available()中(/ home / sites / webhosting / juniorsteps / juniorsteps / www /的第165行)包括/ lock.inc)。
我用Google搜索,但我仍然找不到解决方案。
希望有人可以提供帮助。
更新
从线上问到代码。这是以下功能的第一行:
function lock_may_be_available($name) {
$lock = db_query('SELECT expire, value FROM {semaphore} WHERE name = :name', array(':name' => $name))->fetchAssoc();
if (!$lock) {
return TRUE;
}
$expire = (float) $lock['expire'];
$now = microtime(TRUE);
if ($now > $expire) {
// We check two conditions to prevent a race condition where another
// request acquired the lock and set a new expire time. We add a small
// number to $expire to avoid errors with float to string conversion.
return (bool) db_delete('semaphore')
->condition('name', $name)
->condition('value', $lock['value'])
->condition('expire', 0.0001 + $expire, '<=')
->execute();
}
return FALSE;
}
但说实话,我不认为我的代码中存在错误,因为它在我的开发服务器上运行良好。
答案 0 :(得分:6)
检查你的settings.php
$databases = array (
'default' =>
array (
'default' =>
array (
'database' => '333333',
'username' => '333333',
'password' => '3333333',
'host' => '122.124.12.09', // check host -> maybe not localhost
'port' => '3304', // check port!
'driver' => 'mysql',
'prefix' => '',
),
),
);
答案 1 :(得分:1)
我有同样的问题。该站点的开发版本已设置为与Acquia开发环境一起使用。 settings.php
不正确。从sites/default/settings.php
文件的底行删除所有Acquia特定信息。
答案 2 :(得分:0)
这个答案可能会对你有所帮助:
"Lost connection to MySQL server" when trying to connect to remote MySQL server
关于错误2013的MySQL文档的阅读:server has gone away
http://dev.mysql.com/doc/refman/5.0/en/gone-away.html