安装Drupal 7时出错

时间:2014-09-20 14:54:16

标签: mysql drupal installation drupal-7

我知道许多人在尝试安装Drupal 7时会遇到同样的错误。但在尝试了我读到的解决方案之后,我仍然无法正确安装Drupal。

安装27个模块(28个)后,我收到以下消息:

An AJAX HTTP error occurred. 
HTTP Result Code: 500 Debugging information follows.
Path: `http://localhost/drupal/install.php?profile=standard&locale=en&id=1&op=do`
StatusText: Service unavailable (with message) 
ResponseText: PDOException: SQLSTATE[HY000]: 
General error: 2006 MySQL server has gone away: 
SELECT expire, value FROM {semaphore} 
  WHERE name = :name; Array ( [:name] => menu_rebuild ) 
    in lock_may_be_available() 
(line 167 of C:\wamp\www\drupal\includes\lock.inc).Uncaught exception thrown in shutdown function.PDOException: 
SQLSTATE[HY000]: General error: 2006 MySQL server has gone away: 
DELETE FROM {semaphore} WHERE (value = :db_condition_placeholder_0) ; 
Array ( [:db_condition_placeholder_0] => 802228002541876118e8773.14607894 ) 
 in lock_release_all() 
(line 269 of C:\wamp\www\drupal\includes\lock.inc).
Uncaught exception thrown in session handler.PDOException: SQLSTATE[HY000]: 
General error: 2006 MySQL server has gone away: 
SELECT 1 AS expression FROM {sessions} sessions 
WHERE ( (sid = :db_condition_placeholder_0) AND 
 (ssid = :db_condition_placeholder_1) ); 
Array ( [:db_condition_placeholder_0] => ZLNqcOjZv5_OY8Y_fNwE0Il6hHmlJCLVL9qK5XUBTIo 
        [:db_condition_placeholder_1] => ) in _drupal_session_write() 
(line 209 of C:\wamp\www\drupal\includes\session.inc).'

当我停止后重新启动WAMP服务器时,无论如何我都可以安装Drupal,但是它无法正常工作。

  • 我已将max_allowed_pa​​cket的编号提高到各种高额。
  • 我在my.ini中提出了其他数字。
  • 我重新安装了WAMP。
  • 每次重新尝试时,我都会删除Drupal,我的数据库以及我在Chrome中的历史记录。

  • 我的PHP版本是5.5.12

  • 我在Windows 8工作
  • 我在我的localhost上工作。

我还能尝试什么?


我试图增加my.ini和php.ini中的数字,但这没有帮助。每次出错后我都会删除我的数据库。

我自己有了一个新想法:

它可能与我的settings.php有关吗?

在开始之前,我将$update_free_access = FALSE;设置为TRUE(在Notepad ++中作为管理员)。关闭文件后,我重新打开它以检查它是否真的发生了变化。收到错误后,我重新打开settings.php文件,然后再次显示$update_free_access = FALSE。但我自己并没有改变它。

这可能是我问题的根源吗?我怎么能避免这个?

我应该在同一档案中对此做些什么吗?

'pdo' => array( * PDO::ATTR_TIMEOUT => 5,

我还应该在settings.php中更改其他内容吗?

5 个答案:

答案 0 :(得分:0)

也许MySQL内存不够!增加MySQL内存可能会解决这个问题(my.conf)。

见这里:https://www.drupal.org/node/1014172

答案 1 :(得分:0)

尝试在php.ini中更改它:

max_allowed_packet=100M

我认为这可以解决您的问题。别忘了重新启动wamp。 问候。

答案 2 :(得分:0)

我认为您第一次尝试安装Drupal时,它必须遇到一些意外终止。如果未正确配置安装时的所有表和变量,则会出现上述错误。

我建议删除您的数据库并再次尝试重新安装。另外,请确保您的安装没有超时。

答案 3 :(得分:0)

RE:我在my.ini中提出了其他数字。

如果您使用的是WAMPServer 64位安装,请检查my.ini文件是否包含此节标题[wampmysqld64]

即。

将[wampmysqld]替换为[wampmysqld64]

此部分名称应与运行MySQL的服务名称相匹配,在该服务名称下,WAMPServer的64位安装是wampmysqld64。不幸的是,2.5(64位)版本中存在此错误。

答案 4 :(得分:0)

请检查您的环境是否符合Drupal的System requirements

Drupal 7:
MySQL 5.0.15/MariaDB 5.1.44/Percona Server 5.1.70 or higher with PDO,
PostgreSQL 8.3 or higher with PDO,
SQLite 3.3.7 or higher

database requirements说:

  

可能需要将系统变量max_allowed_packet设置为至少16M。一些廉价的托管计划将此值设置得太低(MySQL默认值仅为1M)。在这种情况下,您可能需要选择更好的托管计划。

所以基本上你需要修改你的my.cnf(例如~/.my.cnf)并设置或增加max_allowed_packet[mysqld]部分的值,例如

[mysqld]
max_allowed_packet=64M

如果它仍然失败,请在Drupal需要解析大量数据的情况下,更加像256M那样进一步增加它。

有关详细信息,请参阅:B.5.2.9 MySQL server has gone away