PHP版本低于8.1会导致PrestaShop 8.x安装页卡死在环境检测阶段,必须使用XAMPP 8.2.x(含PHP 8.2),并启用pdo_mysql和intl扩展、确保.htaccess存在、MySQL用localhost连接、Apache开启mod_rewrite且AllowOverride All。

PHP 版本低于 8.1 导致安装页直接卡死
PrestaShop 8.x 安装页面加载到环境检测阶段就空白或提示 “PHP version too old”,基本就是 php --version 返回值低于 8.1。XAMPP 7.4、8.0.x 自带 PHP 7.4 或 8.0,不满足最低要求;只有 XAMPP 8.2.x(如 8.2.12)才默认带 PHP 8.2。
别试图手动替换 php/ 目录下的文件——php_intl.dll、php_pdo_mysql.dll 等扩展与 PHP 主版本强绑定,路径、依赖库、VC 运行时都可能错配。唯一稳妥做法是卸载旧版,从官网下载最新 XAMPP 8.2.x 安装包重装。
- 验证命令(Windows):
C:\xampp\php\php.exe --version - 验证命令(macOS):
/Applications/XAMPP/xamppfiles/bin/php --version - 检查
php.ini中这两行必须取消注释:extension=php_pdo_mysql.dll、extension=php_intl.dll(Windows)或对应.so文件(macOS/Linux)
.htaccess 缺失引发后台 404 或 SEO 链接失效
PrestaShop 严重依赖 .htaccess 实现 URL 重写(比如后台地址 /admin123、商品页友好链接)。Windows 下用图形化解压工具(如 WinRAR 默认设置)解压 ZIP 包时,常自动跳过以点开头的隐藏文件;macOS/Linux 上某些归档工具也有同样问题。
解压后务必进到 htdocs/prestashop/ 目录里确认 .htaccess 存在。若缺失,不要手写——从 PrestaShop 官网下载包里重新提取,或改用命令行解压:
tar -xzf prestashop_8.1.5.zip
同时确保 Apache 已启用 mod_rewrite,且对应目录配置了 AllowOverride All(XAMPP 默认已设好,但若自定义了虚拟主机需复查)。
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
数据库连接失败:Access denied 或 Connection refused
填完数据库信息点击“下一步”后页面转圈、空白,或 Apache 错误日志(C:\xampp\apache\logs\error.log)出现 PDOException: SQLSTATE[HY000] [1045] Access denied for user 或 mysqli_real_connect(): (HY000/2002): Connection refused,核心原因有两个:
- MySQL root 用户密码非空:XAMPP 8.0+ 启动 MySQL 后首次访问 phpMyAdmin(
http://localhost/phpmyadmin)会强制要求设置 root 密码;若你设了密码,安装时就必须填上,不能留空 - MySQL 未监听 localhost:PrestaShop 安装向导只认
localhost,不接受127.0.0.1或空字符串;检查 phpMyAdmin 登录是否正常,若能登录,说明服务正常,问题只在填写的 host 字段
临时解决办法:在安装页数据库配置处,host 填 localhost,user 填 root,password 填你为 root 设置的密码(若没设过,可先用 phpMyAdmin 清空 root 密码再试)。
目录权限不足导致安装向导白屏或 500 错误
Linux/macOS 下安装 PrestaShop 经常一打开就 500,Windows 下也可能报 “Cannot write temporary file” 或找不到类(如 Core_Business_ContainerBuilder),根本原因是 Apache 进程无权写入关键目录。
不是所有目录都要 chmod -R 777,更不能对整个 prestashop/ 目录递归赋 777——这会导致安全警告甚至后续无法加载模块。只需对以下子目录单独授权(Windows 右键 → 属性 → 安全 → 添加 IIS_IUSRS 或 Everyone 并勾选“写入”):
-
var/cache/、var/logs/(PrestaShop 8.x 新结构) -
img/、download/、modules/、themes/*/cache/ -
config/(仅安装阶段需要,成功后可收回写权限)
权限问题最隐蔽的一点是:错误日志里未必直接说“permission denied”,而是表现为类加载失败、缓存生成失败、模板编译中断——遇到白屏或 500,第一反应应查 php_error_log 和 error.log,而不是重装。

















