安装XAMPP遇到的问题及解决方法
1、XAMPP无法启动Apache
Xampp的获得和安装都十分简单,你只要到以下网址:
http://www.apachefriends.org/zh_cn/xampp.html 下载xampp即可,我安装的是windows版本的Installer安装包,只要根据它的安装提示一路安 装下去就可以了,十分方便快捷。
不过,安装目录最好选择C盘之外的其它磁盘,据某些网友的经验,在Windonws7或Vista中,如果选择C盘安装,由于权限原因,会出现创建一些文件 失败的问题。如果你已经据有最高权限,可以直接装在C盘。
一般在windows XP或windows 7中,刚安装完xampp时,apache服务器是启动不了的。这个原因有很多,下面我来一一细说。
- 没有安装VC9的环境
要判断是否是这一问题十分简单,只要单独运行C:\xampp\apache\bin\httpd.exe时(这个是我的安装路径),提示“系统无法执行指定的程序”(这个 是用命令行运行后的提示),如果是直接双击httpd.exe,则会提示环境配置错误。
解决办法:直接下载vcredist_x86.exe。
以下是在PHP.net看到的提示信息:
VC9 Versions are compiled with the Visual Studio 2008 compiler and have
improvements in performance and stability. The VC9 versions require you
to have the Microsoft 2008 C++ Runtime (x86) or the Microsoft 2008 C++
Runtime (x64) installed
按照链接下载了Microsoft Visual C++ 2008 Redistributable Package
(x86),就是那个vcredist_x86.exe,一个运行时环境,使用户能够在未安 装 Visual C++ 2008 的计算机上运行使用
Visual C++ 开发的应用程序。装好后启动Apache,一切正常。
- 端口被其它程序占用
有时,并不是安装完VC9环境就可以直接运行Apache,其中一个重要的原因,便是Apache服务器所使用的端口被其它程序占用了,经典代表:迅雷。
解决办法:
1.80端口冲突,解决方法:
打开目录C:\xampp\apache\conf(我的安装目录为C:\xampp)下的httpd.conf文件,将Listen 80和
ServerName localhost:80中的80改为8081或 其它值(尽量不要使用0-1023端口,这个是系统保留端口),要保持一致。
2.监听端口443冲突,解决方法:
打开目录C:\xampp\apache\conf\extra (我的安装目录为C:\xampp)下的httpd-ssl.conf文件,将Listen 443这句注释掉:# Listen 443或将443 改为4433或其它值(尽量不要使用0-1023)。
3.Apache启动后又马上停止,一种情况是,Apache已经正常启动,只是Xampp的控制面板没有显示而已,你可以通过在浏览器中输入 http://localhost:8081,如果能直接进入Apache服务器的控制页面就是没有问题的了。另一种情况,原因可能是由于安装了oracle10g,与其中的 perl5lib变量发生了冲突,解决方法有3种:
(1) 打开目录C:\xampp\apache\conf(我的安装目录为C:\xampp)下的httpd.conf文件,
将Include "conf/extra/httpd-perl.conf"注释掉:# Include "conf/extra/httpd-perl.conf"。
(2) 打开目录C:\xampp\apache\conf\extra
(我的安装目录为C:\xampp)下的httpd-perl.conf文件,找到LoadModule perl_module
modules/mod_perl.so,在下面一行增加PerlSwitches –T,保存文件即可。
(3) 修改环境变量:在环境变量path中增加C:\xampp\perl\lib; C:\xampp\perl\site\lib;即可。
前两种方法的任一种都能解决我遇到的apache启动后又马上停止的问题,第3种方法我遇到的是没显示,但已经运行,至于另一种情况可能对某些网友有 用,所以也把它写了出来,以供参考。
其它方法:
下面的解决方法也是网友在实际中用到的,不过本人并不推荐。
原因在于,可以更改服务器配置,就尽量不要动操作系统的环境和配置,要不然,以后其它软件出问题,你也不知道是不是这个系统设置惹的祸。
当然,如果你对你的操作系统足够熟悉就另当别论。
而现在我只是写出来,供大家参考,也许由于你的原因特殊,正好解决你的问题。
1 关闭占用80端口的进程。
在“运行”中输入cmd命令,打开dos窗口,输入命令:netstat –abn –>D:\port.txt或命令netstat
–ano|findstr 80命令,打到占用80端口的进程,然 后打任务管理器窗口,关闭该进程。此方法治标不治笨,执行比较麻烦,不推荐使用。
2 修改网络设置
(1) 网上邻居——本地连接——属性——internet协议(TCP/IP)——属性——高级——wins标签——去掉“启用LMHOSTS查询(L)”前的勾。
(2) 控制面板——Windows防火墙——“高级”标签——本地连接——设置——“服务”标签——勾选“安全web服务器(HTTPS)。
这种方法有些奇怪,说不清为什么,如果实在找不到办法了,可以一试。
2、XAMPP无法启动MySql
22:39:41 [mysql] Error: MySQL shutdown unexpectedly.
22:39:41 [mysql] This may be due to a blocked port, missing dependencies,
22:39:41 [mysql] improper privileges, a crash, or a shutdown by another method.
22:39:41 [mysql] Press the Logs button to view error logs and check
22:39:41 [mysql] the Windows Event Viewer for more clues
22:39:41 [mysql] If you need more help, copy and post this
22:39:41 [mysql] entire log window on the forums
启动xmapp的mysql时出现上述错误,错误写的很简单,说是端口问题,其实这里的错误根本不是端口的问题,那么真正的错误在那里查看呢,点击xmapp的log按钮,在点击菜单项的mysqlerror.log,此时我们便可以查看具体的错误信息,其中出现的错误的内容如下:
InnoDB: Error: could not open single-table tablespace file .\nianhuo\wp_terms.ibd
InnoDB: We do not continue the crash recovery, because the table may become
InnoDB: corrupt if we cannot apply the log records in the InnoDB log to it.
InnoDB: To fix the problem and start mysqld:
InnoDB: 1) If there is a permission problem in the file and mysqld cannot
InnoDB: open the file, you should modify the permissions.
InnoDB: 2) If the table is not needed, or you can restore it from a backup,
InnoDB: then you can remove the .ibd file, and InnoDB will do a normal
InnoDB: crash recovery and ignore that table.
InnoDB: 3) If the file system or the disk is broken, and you cannot remove
InnoDB: the .ibd file, you can set innodb_force_recovery > 0 in my.cnf
InnoDB: and force InnoDB to continue crash recovery here.
这里写的也很明确,就是数据库表有问题,数据库已经损坏了。(我昨天刚刚安装好的xmapp,数据库压根就没动过,怎么可能会损坏数据库呢?但事实上数据库的确有问题了,不知道怎么弄的)
先说解决办法吧!
第一种:最次的方法,删除..\XAMPP\mysql\data目录下的ibdata1文件,然后启动你的mysql就行了,删除之后就意味着你的数据库就没了,你的网站之前的所有数据全部丢失,除非你有备份的!故此方法不推荐使用
第二种:点击xmapp的config按钮,点击菜单项的my.ini,在主键mysqld下面添加一个子健innodb_force_recovery=1,然后保存,启动mysql就行了。innodb_force_recovery=1的意思就是忽略数据库里面出现的坏页。这样网站就可以正常的打开了,现在赶紧备份一下你的数据库数据吧!
以上两种方法各有优劣,按照自己的实际情况操作,以免丢失重要的数据!
安装XAMPP遇到的问题及解决方法的更多相关文章
- 安装XAMPP后APACHE不能启动解决方法
自己的xampp中的apache启动失败,在网上找到了一篇文章,感觉不错,原文如下: Xampp的获得和安装都十分简单,你只要到以下网址: http://www.apachefriends.org/z ...
- 在CentOS7.1上安装Gitlab碰到的问题及解决方法
一 前言 关于在CentOS7上安装Gitlab, 官方文档已经很详细了,步骤大家按照官方的安装文档一步一步安装即可, 这里就不在累述.官方安装文档地址: https://about.gitlab. ...
- ASP.NET MVC 此安装不支持该项目类型解决方法
http://www.cnblogs.com/younggun/archive/2011/03/03/1969498.html ASP.NET MVC 此安装不支持该项目类型解决方法 打开 .csp ...
- win7系统总是安装不了net2.0的解决方法
一些网友询问说ghost win7系统总是安装不了net2.0怎么办呢?net2.0是什么?ATI显卡的控制中心 就需要在NET2.0的基础上.可是一些用户说win7系统总是安装不了net2.0如何解 ...
- mysql安装以后无法登陆的的解决方法((ERROR 1698 (28000): Access denied for user 'root'@'localhost'))
mysql安装以后无法登陆的的解决方法((ERROR 1698 (28000): Access denied for user 'root'@'localhost')) 解决步骤: [====> ...
- win7 安装过程中遇到的错误解决方法
win7 安装过程中遇到的错误解决方法 windows安装无法继续.若要安装windows 请单击 确定 重新启动计算机: 当 出现如上提示的时候,按下shift+f10 会打开命令窗口,进入到C:\ ...
- Linux安装ElasticSearch启动报错的解决方法
Linux安装ElasticSearch后,ElasticSearch是不能用root用户启动的,以root用户启动会报错Refer to the log for complete error det ...
- STM32 USB转串口驱动安装不成功出现黄色感叹号解决方法!
相信很多人在做USB转串口时出现过串口驱动安装不成功,出现黄色感叹号问题, 出现这种问题一般是驱动安装不成功造成的. 这里我就这个问题总结几个简单的方法. 方法1: 插上USB,利用驱动人生安装驱动. ...
- 虚拟机中安装Kali遇到的问题及解决方法
title: 虚拟机中安装Kali遇到的问题及解决方法 date: 2018-11-25 12:25:43 tags: 安全 --- 关于Kali版本选择 kail官方下载页面 虚拟机中当然就下载虚拟 ...
随机推荐
- [原] KVM虚拟机网络闪断分析
背景 公司云平台的机器时常会发生网络闪断,通常在10s-100s之间. 异常情况 VM出现问题时,表现出来的情况是外部监控系统无法访问,猜测可能是由于系统假死,OVS链路问题等等.但是在出现网络问题的 ...
- ASP.NET Core 中文文档 第四章 MVC(3.9)视图组件
作者: Rick Anderson 翻译: 娄宇(Lyrics) 校对: 高嵩 章节: 介绍视图组件 创建视图组件 调用视图组件 演练:创建一个简单的视图组件 附加的资源 查看或下载示例代码 介绍视图 ...
- PHP设计模式(二)工厂方法模式(Factory Method For PHP)
简单工厂简述: 简单工厂模式实现了生产产品类的代码跟客户端代码分离,在工厂类中你可以添加需要生成长跑的逻辑代码(new 产品类),但是问题来了,优秀的代码是符合"开闭原则"如果你要 ...
- [Django]用户权限学习系列之Permission权限基本操作指令
若需建立py文件进行测试,则在文件开始加入以下代码即可 #coding:utf-8 import os os.environ.setdefault("DJANGO_SETTINGS_MODU ...
- 从零开始,DIY一个jQuery(3)
在前两章,为了方便调试,我们写了一个非常简单的 jQuery.fn.init 方法: jQuery.fn.init = function (selector, context, root) { if ...
- ReactNative&weex&DeviceOne对比
React Native出来有一段时间了,国内的weex和deviceone是近期发布的,我可以说从2011年就开始关注快速开发的跨平台平台技术了,接触过phoneGap.数字天堂.appcan等早期 ...
- 深入理解jQuery、Angular、node中的Promise
最初遇到Promise是在jQuery中,在jQuery1.5版本中引入了Deferred Object,这个异步队列模块用于实现异步任务和回调函数的解耦.为ajax模块.队列模块.ready事件提供 ...
- 抛弃jQuery:Why?
原文链接:http://blog.garstasio.com/you-dont-need-jquery/ 我的Blog:http://cabbit.me/you-dont-need-jquery/wh ...
- ASP.NET MVC 描述类型(二)
ASP.NET MVC 描述类型(二) 前言 上个篇幅中说到ControllerDescriptor类型的由来过程,对于ControllerDescriptor类型来言ActionDescriptor ...
- 如何在 TFS 中使用 Git
对 Charley Blog 的代码进行版本控制的想法由来已久,在代码建立之初其实已经使用过 TFS 进行控制,只是后期没能好好用起来,加之后来系统环境的变化导致TFS连接丢失,便算是正式放弃了版本控 ...