我知道许多人在尝试安装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,但是它无法正常工作。
每次重新尝试时,我都会删除Drupal,我的数据库以及我在Chrome中的历史记录。
我的PHP版本是5.5.12
我还能尝试什么?
我试图增加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
中更改其他内容吗?
答案 0 :(得分:0)
也许MySQL内存不够!增加MySQL内存可能会解决这个问题(my.conf)。
答案 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
可能需要将系统变量
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。