Windows安装多版本XAMPP遇‘windows cannot find '-n'’错误的解决办法
解决XAMPP安装时带三位版本号路径报错的问题
这个问题我之前也碰到过,本质是XAMPP的安装脚本在解析带三位版本号(比如7.0.26)的路径时,没有正确给路径添加引号,导致版本号里的部分字符被误识别成了命令行参数,从而抛出"windows cannot find '-n'"的错误。下面给你几个可行的解决办法:
方法1:手动解压安装包到目标路径
XAMPP的安装包本质是自压缩格式的文件,你可以用7-Zip、WinRAR这类解压工具直接绕开安装程序的路径检测:
- 右键点击XAMPP 7.1.13的安装包,选择用解压工具打开
- 把所有内容直接解压到你想要的
C:\xampp-7.1.13目录下 - 解压完成后,直接运行目录里的
xampp-control.exe就能启动服务,和正常安装的效果完全一致
方法2:安装时给路径添加引号
如果你还是想用官方的安装程序,可以尝试在输入安装路径的时候手动加上英文双引号:
- 当安装程序提示选择安装目录时,不要直接输入
C:\xampp-7.1.13,而是输入"C:\xampp-7.1.13" - 这样安装脚本会把整个路径当成一个完整的参数处理,就不会把版本号里的字符误解析成命令参数了
方法3:安装后修改文件夹名称(如果已用短版本号安装完成)
如果你已经成功安装到C:\xampp-7.1,也可以后续修改文件夹名称:
- 先停止XAMPP的所有服务,关闭XAMPP控制面板
- 把
C:\xampp-7.1重命名为C:\xampp-7.1.13 - 打开XAMPP控制面板,点击右上角的
Config按钮,选择Service and Port Settings,检查所有服务的路径是否正确,确保指向新的文件夹 - 另外,还需要检查
httpd.conf、my.ini等配置文件里的路径引用,如果有硬编码的旧路径,手动修改为新路径
额外注意:避免端口冲突
因为你要同时使用两个XAMPP版本,记得修改其中一个版本的服务端口,防止冲突:
- 打开XAMPP控制面板,找到Apache模块,点击
Config->Apache (httpd.conf),修改Listen 80为Listen 8080,同时修改ServerName localhost:80为ServerName localhost:8080 - 对于MySQL,点击
Config->MySQL (my.ini),修改port=3306为port=3307 - 修改后重启对应的服务即可
内容的提问来源于stack exchange,提问作者moses toh
相关产品推荐
相关产品推荐

