PrestaShop 8.x 要求 XAMPP 8.2.x(含 PHP 8.2),需验证 PHP 版本、启用 pdo_mysql 和 intl 扩展、确保 .htaccess 存在及权限正确、MySQL 使用 localhost 连接、Apache 启用 mod_rewrite 并设 AllowOverride All。

确认 XAMPP 版本与 PHP 兼容性
PrestaShop 8.x 要求 PHP 8.1 或 8.2,而默认 XAMPP 8.2.x(如 8.2.12)才自带 PHP 8.2;若你装的是 XAMPP 7.4 或 8.0.x,php --version 会报 PrestaShop 安装页面提示 “PHP version too old” 或直接卡在环境检测页。别急着重装,先查清本地 XAMPP 的 PHP 版本:
- 打开终端,运行
C:\xampp\php\php.exe --version(Windows)或/Applications/XAMPP/xamppfiles/bin/php --version(macOS) - 若低于 8.1,必须升级 XAMPP —— 官网下载最新版,不要试图手动替换
php/目录,扩展(如php_intl.dll)和配置(php.ini中的extension_dir)路径极易错配 - 特别注意:PrestaShop 8.1+ 已弃用
mysql_*函数,且强制要求pdo_mysql和intl扩展启用;检查php.ini中这两行未被注释:extension=php_pdo_mysql.dll、extension=php_intl.dll(Windows)或对应 .so 文件(macOS/Linux)
解压后不能直接放 htdocs 根目录
把 PrestaShop 源码 ZIP 解压到 C:\xampp\htdocs\prestashop 是对的,但很多人忽略两件事:权限和隐藏文件。Windows 下解压常丢失 .htaccess,而 PrestaShop 依赖它做 URL 重写(SEO 链接、后台路由);macOS/Linux 则可能因解压工具跳过以点开头的文件。
- 务必解压后检查目录是否存在
.htaccess—— 若没有,从官网下载包里重新提取,或用命令行解压:tar -xzf prestashop_8.1.5.zip(Linux/macOS) - 确保
htdocs/prestashop/及其子目录对 Apache 进程可读写,尤其是var/cache/、var/logs/、img/、download/;Windows 上右键文件夹 → “属性” → “安全” → 给Everyone或IIS_IUSRS(XAMPP 实际用 Apache 用户)写入权限 - 别把整个 ZIP 放进 htdocs 后直接访问 —— Apache 不会自动解压,浏览器只会下载文件或报 403
安装时卡在“数据库配置”页无响应
常见现象:填完数据库名、用户、密码,点击“下一步”,页面转圈后空白或返回原页,Apache 错误日志(C:\xampp\apache\logs\error.log)里出现 PHP Fatal error: Uncaught 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 → 命令行进C:\xampp\mysql\bin\→ 运行mysqld --skip-grant-tables→ 新窗口执行mysql -u root mysql→UPDATE user SET authentication_string='' WHERE User='root'; FLUSH PRIVILEGES; - 数据库名不能含短横线(
-)或大写字母,PrestaShop 安装脚本对prestashop-test这类名字解析异常;用prestashop_test或prestashopdb - 主机名别填
127.0.0.1—— XAMPP MySQL 绑定的是localhost,填127.0.0.1会走 TCP 而非 socket,容易触发连接超时;坚持填localhost
安装成功后访问前台 404 或后台重定向死循环
这基本是 Apache rewrite 模块没生效或 .htaccess 未被读取。PrestaShop 的 SEO 链接(如 /women)全靠 mod_rewrite 解析成 index.php?controller=category&id_category=3,一旦失效,所有非 index.php 路径都 404。
- 确认 Apache 的
mod_rewrite已启用:打开C:\xampp\apache\conf\httpd.conf,找#LoadModule rewrite_module modules/mod_rewrite.so,删掉前面的#;再找块,把其中的AllowOverride None改成AllowOverride All - 重启 Apache 再试;若仍 404,临时在 PrestaShop 后台关闭 SEO:进
Advanced Parameters → Performance→ 把 “Enable Friendly URLs” 设为 No,看是否恢复访问 - 后台重定向死循环(如访问
/admin123不停跳/admin123/login→/admin123/login)多因cookie domain设置错误:安装时若填了域名(如localhost/shop),但实际用http://localhost/prestashop访问,Cookie 域不匹配导致登录态无法写入;解决办法是删掉app/config/parameters.php里的'cookie_domain' => 'localhost/shop'行,或改成'cookie_domain' => ''
PrestaShop 在 XAMPP 上真正麻烦的不是安装步骤本身,而是每个环节都依赖多个服务(Apache、PHP、MySQL)的隐式协同;一个扩展没开、一行配置没改、一个隐藏文件缺失,都会让安装停在看似无关的页面。动手前花两分钟验证 php --version、mysql --version、httpd -M | findstr rewrite,比反复刷新安装页高效得多。










