MySQL服务未启动是Drupal安装卡在数据库配置页的主因;需确认XAMPP控制面板中MySQL状态为Running,访问phpMyAdmin验证服务就绪,并检查PHP版本、扩展、字符集、sql_mode及settings.php权限。

MySQL 服务是否真正运行了
Drupal 安装卡在数据库配置页,90% 的情况不是密码错,而是 MySQL 根本没启动——Apache 启着不等于 MySQL 也启着,它们是两个独立进程。
- 打开
xampp-control.exe,看MySQL行右侧状态是不是 Running;若为 Stopped,点 Start 并等几秒,状态变绿才算生效 - 如果点了 Start 立刻回退成 Stopped,去查
xampp\mysql\data\mysql_error.log最后一行错误,常见原因是:3306端口被 Skype、旧版 MySQL 或其他服务占用了 - 验证是否真就绪:浏览器访问
http://localhost/phpmyadmin/,能正常打开并登录,才算 MySQL 可用
PHP 版本与扩展是否满足 Drupal 要求
Drupal 9+ 要求 PHP ≥ 7.4(推荐 8.1+),且必须启用关键扩展;XAMPP 旧版本(如 7.4.x 之前)默认不带 opcache 或 gd,会导致安装中途报错或首页空白。
- 确认 PHP 版本:在 XAMPP 控制面板点
Shell→ 输入php -v,输出应为PHP 8.1.x或更高 - 检查必需扩展是否启用:编辑
xampp\php\php.ini,确保以下行未被注释(即前面没有分号):extension=gdextension=mysqliextension=pdo_mysqlopcache.enable=1zend_extension=php_opcache.dll - 改完
php.ini后,必须重启Apache才生效;可访问http://localhost/dashboard/phpinfo.php搜索 “opcache” 或 “gd” 确认已加载
MySQL 字符集与 sql_mode 是否合规
Drupal 9+ 强制要求 utf8mb4 字符集和禁用严格模式,否则安装会因 “Field ‘xxx’ doesn’t have a default value” 类 SQL 错误中断。
XAMPP 8.0.30 是一款免费、开源的跨平台 Web 服务器集成包,专为快速搭建本地 PHP 开发环境而设计。该版本核心组件包括:Apache 2.4.56、MySQL 8.0.33、PHP 8.0.30、phpMyAdmin 5.2.1 等。它支持 Windows、Linux 和 macOS 系统,可让开发者在个人电脑上轻松模拟服务器环境,无需复杂配置即可运行 WordPress、Thin
- 字符集检查:在
phpMyAdmin的 SQL 标签页执行SHOW VARIABLES LIKE 'character_set_server';,结果必须是utf8mb4;如果不是,编辑xampp\mysql\bin\my.ini,在[mysqld]下添加:character-set-server = utf8mb4collation-server = utf8mb4_unicode_ci - sql_mode 修正:同一配置文件中,在
[mysqld]下添加:sql_mode = "NO_ENGINE_SUBSTITUTION"
注意:不能保留STRICT_TRANS_TABLES,否则 Drupal 表创建失败 - 改完必须重启
MySQL,然后执行SELECT @@sql_mode;验证返回值里不含STRICT相关字样
Drupal 安装前的文件权限与 settings.php 准备
很多人跳过这步直接访问安装页,结果卡在“无法写入 settings.php”或后续权限报错,其实核心就两件事:复制模板文件 + 开放临时写权限。
- 进入
xampp\htdocs\drupal\sites\default\,把default.settings.php复制一份,重命名为settings.php(不是改后缀,是完整重命名) - 右键
settings.php→ 属性 → 安全 → 编辑当前用户权限,勾选“写入”;或用命令行(管理员权限)执行:icacls "xampp\htdocs\drupal\sites\default\settings.php" /grant Users:F - 同目录下,确保
files文件夹存在且同样可写;若无,手动新建并赋写权限;Drupal 安装过程要往里存临时翻译包、图片缓存等
实际部署时最容易被忽略的是 sql_mode 和 settings.php 的权限组合问题:改了配置但忘了重启 MySQL,或复制了文件却没开写权限,两者同时出问题时,错误日志往往只显示后一个表象,得逐层排查。










