xampp在windows环境下的配置问题

    以前开发PHP一直用AppServ,后来发现还有比AppServ更好的整合开发工具-Xampp:apache+mysql + php+perl整合,

    xampp(apache+mysql+php+perl)是一个功能强大的php网站开发集成软件包。应用xampp可以轻松地在各种系统下搭建php等程序的运行环境。

    下载网址:http://www.apachefriends.org/zh_tw/xampp.html

    网上提供了各种平台的开发包,并且有详细的安装说明。

 

    不过比较惨的是,遵循说明装好后,出现了大问题,apache服务器无法启动。花了我整一天的时间又是google,又是baidu,千方寻药。

最后竟然是xampp容器内部php与perl相互冲突。

    查了一天的,也算有些收获,下面我将apache服务器无法启动的原因跟大家分享一下,以免以后诸如此类的问题浪费大家的时间:

 

 

1。端口冲突

Xampp中Apache无法启动的解决方法简单的就是修改80和443端口。在启动XAMPP时,如果报80/443端口被占,可以修改此软件的端口

打开xampp/apache/conf/httpd.conf文件把80修改为8081;打开xampp/apache/conf/extra/httpd-ssl.conf文件把443修改为4433或者关闭SSL扩展(反正是调试而已)

 

2.网路设置问题

现将整理后的解决方案公布如下:
在桌面右键网上邻居–>点击“属性”–>打开“网络连接”窗口–>在“本地连接”右键单击“属性”–>打开“本地连接属性”对话框–>在“常规”选项卡下的“此连接使用下列项目(o):”内双击“Internet协议(TCP/IP)”–>打开 “Internet协议(TCP/IP)属性”对话框–>点击右下脚的“高级(V)…”按钮–>打开“高级TCP/IP设置”对话框 –>单击“WINS”选项卡–>选中“禁用TCP/IP上的NetBIOS(s)”。–>一直点击“确定”按钮即可。
另外:要注意了,咱们上网用的Dr.COM 客户端是跟Apache有些冲突的(具体我也不知道)。如果你在启动了Dr.COM客户端的情况下启动Apache这时还会出现上述错误。一定要关掉 Dr.COM客户端。这时应该就可以正常启动Apache服务器了。


如果每次手动启动apache 时总是提示:本地计算机上的Apache服务启动后又停止了,一些服务自动停止,如果他们没什么可做的例如”日志和警报”服务 。


解决方法如下:
在网络连接属性里选
tcp/ip属性–> 高级–>wins标签—>下面有启用LMHOSTS查询,及netbios的选项
改为禁用,任务管理器里立刻就可以看到apache进程cpu迅速下降(不再尝试开子进程)

经测试暂时还没有问题

观察中

似乎问题和上面的没有关系

可能还和tcpip.sys这个文件有关系

特别是xp sp2系统

除了上面两个外

极端方法是关掉apache的日志

怎么样关闭apache2的日志文件(logfile)?这是个问题,因为写日志会给系统带来很大的损耗。关闭日志以后,甚至最高可以提高整体性能近40%(粗略估计)那么如何关闭日志呢?

可以通过降低log级别的办法来减少日志读写。

这里要提醒的是,这么做将给“入侵检测”以及其他基于日志分析的工作带来麻烦。所以请谨慎使用。

LogLevel用于调整记于错误日志中的信息的详细程度。(参阅ErrorLog指令)。可以选择下列级别,依照重要性降序排列:

Level  Description  Example
emerg  紧急 – 系统无法使用。 “Child cannot open lock file. Exiting”
alert  必须立即采取措施。 “getpwuid: couldn’t determine user name from uid”
crit  致命情况。 “socket: Failed to get a socket, exiting child”
error  错误情况。 “Premature end of script headers”
warn  警告情况。 “child process 1234 did not exit, sending another SIGHUP”

 

notice  一般重要情况。 “httpd: caught SIGBUS, attempting to dump core in …”
info  普通信息。 “Server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers)…”
debug  出错级别信息 “Opening config file …”

通常情况建议使用 crit  到 warn 之间的设置

 

(三)
上面的方法虽然解决了Apache的问题,可是这样会出现偶尔上不了网的现象。经过多天的资料搜索,终于找到了一个较为完美的解决方法了,方法如下:
网上邻居->;查看网络连接->本地连接(你正在使用的那个连接,一般是这个名字)->;右键点它选”属性”->;选中”internet协议(TCP/IP)
->; 属性->;高级->;切换到”wins”标签->点击”导入LMhosts(M)” 然后选择你安装 apache目录下的bin文件夹(我安装的目录是D://AppServ//Apache2.2//bin) 导入httpd.exe后就可以开启Apache 也可以上网了

 

3.
遇到系统升级到Winxp[sp2]可能会遇到Apache无法正常启动:
error.log日志类似这样描述:

[crit] (OS 10022)提供了一个无效的参数。
解决办法:
1.网上邻居->本地连接->属性->internet协议(TCP/IP)->属性->高级->wins标签->去掉启用LMhosts查询前的勾.

2.控制面版->windows防火墙->高级标签->本地连接设置->服务的标签里勾选安全Web服务器(HTTPS)即可.

(这上下两项完成后仍然有问题,选中:启用 TCI/IP 上的 NetBOIS.

这是网上的办法,我试过后问题依旧,继续找。下面的操作就可以了。

3.在运行里输入:netsh winsock reset

原因:有人提到是winsock的问题,用hijackthis.exe 搜索了下,发现了:

于是找了WinsockxpFix.exe尝试修复winsock,
重启后? apache就可以启动了

后来发现,机子不重启也可以的,只要修复一下网络连接就可以了

其实Windows本身就带有修复工具的 汗一个

只要直接在运行里输入:

netsh winsock reset

连提示重启都不用, 很好很强大!

 

4.xampp容器内部冲突

 

打开xampp control panel,点击setup,选中disable mod_perl即可解决冲突问题。google了老半天,这个方法还是在一个英文网站上找到的,正好解决了我的问题。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值