PHP关于xampp环境调试的一些常见问题

 最近在看《搜索引擎优化高级编程(PHP)》感觉挺不错的!推荐大家也去读读。同时也在学php的知识,感觉到了不懂的知识的可悲呀!因为以前完全不懂,现在学都是自己一步一步慢慢摸索出来的!可能别人认为简单的地方,我却要话很都时间去理解和消化。《搜索引擎优化高级编程(PHP)》第一章讲的就是PHP环境的安装和调试,我安装的是xampp套件是在windows环境下安装的,关于xampp的知识大家可以去搜索引擎搜搜,是一个集PHP +mysql+ apache于一起的环境软件包。对于新生来说很容易入手,下面就来看看一些环境调试中的一些问题和我的一些扎记吧:

一,Xampp中Apache无法启动的解决方法
xampp(apache+mysql+php+perl)是一个功能强大的建站集成软件包。许多人通过他们自己的经验认识到安装 Apache 服务器是件不容易的事儿。如果您想添加 MySQL、PHP 和 Perl,那就更难了。应用xampp可以轻松地在各种系统下搭建php等程序的运行环境。

情况1:
今天应用xampp修改wordpress的时候发现一个严重的问题,apache启动不了,不论点击多少次start,都显示如下:
busy…
apache started [port 80]

经多方查询资料,原来是因为80端口被别的程序占用了,所以这个端口很busy,从而导致apache无法启动的。解决方法如下:

1、运行-cmd,然后输入netstat -ano,回车;
2、查看本地地址中包含xx.xx.xx.xx:80的那一行的pid,为几个数字,把这几个数字记下来;
3、启动“任务管理器”——“进程”,在工具栏——“选择列”前面的框打上勾;
4、然后查看与刚才那个pid对应的是哪个程序,很容易就会找到,就是它占用了80端口;
5、直接将其停止或者使用优化大师等工具使之开机不启动。
情况2:
我的xp系统默认安装了iis(我要用来进行asp开发),显然是因为80端口被占用了,所以这个端口很busy,从而导致apache无法启动的。解决方法我google了一下,说了很多很多种…。why?xampp通常就是用来php开发迅速搭建php+mySQL+apache环境的,实际服务器环境应用至少我是会一一搭建的。既然是开发环境你就好办了,我的asp用的iis服务器是xp的默认web80端口,jsp用的tomcat服务器用的是tomcat安装时的默认端口8080,那么php下xampp里边的apache我就将它的默认80端口修改为8081(随便其它的只要不被占用就可以了)其它的不就ok了 (说道这里想起来谁不是有看的人还不理解什么是web默认端口,不懂的话就看看tcp/ip,你的基础知识不懂得的就是沙地建楼,永远不会高的了)。
既然如此如何修改apache的端口呢?

到xampp的安装目录下,点击进入apache\conf下,可以看到“httpd.conf”文件,用文本编辑器打开,将所有的80修改为8081, Listen 80   

-〉Listen 8081
ServerName localhost:80-〉ServerName localhost:8081
然后在XAMPP Control Panel中重新启动apache。

怎么还显示如下:
busy…
apache started [port 80]

管它三七二十一,在ie里输入地址:http://localhost:8081测试,打不开,都修改apache的端口了,试着停止iis的web服务。再启动
apache。还显示如下:
busy…
apache started [port 80]
ie里输入地址:http://localhost:8081测试,成功打开xampp的网页,提示:
欢迎使用XAMPP for Windows Version 1.7.0 !

祝贺您:
您已经成功安装了XAMPP!
虽然在xampp-control的对话框中还是显示apache启动了80端口,但实际的占用端口是8081。再重新启动iis服务,apache和iis都可以在各自的8081和80端口工作了。
重新启动电脑,apache又不能用了,试着 关闭iis服务,启动apache -〉http://localhost:8081测试成功;接着启动iis服务,
http://localhost:8081测试成功,真的是个好奇怪的调试过程,不管怎么说,是可以用了,

直接xampp\apache_start.bat启动apache,出现提示443端口占用,原来IIS占用了ssl端口(即443端口 https),这就好办了,修改xampp\xampp\apache\conf\extra\httpd-ssl.conf文件 ,将所有的 443 都修改为 4433 或关闭ssl服务,再次测试一切ok了。

当然作为开发调试环境如果不需要ssl服务可以关闭ssl服务,方法还是修改xampp\apache\conf\httpd.conf文件,找到”Includeconf/extra/httpd-ssl.conf “用 #字符 注释掉就关闭ssl服务了。
总结:Xampp中Apache无法启动的解决方法简单的就是修改80和443端口。在启动XAMPP时,如果报80/443端口被占,可以修改此软件的端口
打开xampp\apache\conf\httpd.conf文件把80修改为8081;打开xampp\apache\conf\extra\httpd-ssl.conf文件把443修改为4433或者关闭SSL扩展(反正是调试而已);

情况3:
用xampp启动apache时提示busy,apache started.提示说started,但是在apache服务器后的状态并没有显示running,表明没有启动成功。

解决方法:
1.在xampp控制面板启动apache,如启动不成功.
2.进入xampp的安装目录下的apache目录,如c:\xampp\apache\logs\
3.可以看到有个error.log的文件.
4.打开该文件,到文件最后,可以详细了解到启动失败的原因。
5.针对不同的失败原因,寻求解决之策。

解决案例
1.在xampp控制面板启动apache不成功
2.进入error.log查看,显示”make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down”
3.可以看出,这是在侦听80端口时出错,可能80端口已经被其它应用程序占用了。apache启动不成功绝大部分都是因为端口问题。
4.打开c:\xampp\apache\conf\目录
5.目录下有一个httpd.cnf文件,用记事本打开,将里面的”80″全部修改为其它端口,例如”8082″,修改之后,保存退出。
6.重新在xampp控制面板,启动apache,成功,状态为running.

注意:因为浏览器的默认端口是80,所以修改了apache的侦听端口之后,在浏览器中浏览时,需要localhost后加上端口。如

http://localhost:8082/代替修改前的http://localhost/,当然localhost = 127.0.0.1,用http://127.0.0.1:8082/同样。

二:关于PHP.ini文件,有的只有一个  有的在xampp/apache/bin下有一个,但我装的只是在xampp/php下面有一个。
三:建立本地虚拟主机seophp.example.com 他将指向本地文件夹seophp需修改配置的几个地方:
1,windows的host文件;host文件的路径是c:\windows\system32\drivers\etc\host.添加如下行:
 127.0.0.1 localhost
 127.0.0.1 seophp.exaple.com
2,创建seophp文件 ,并修改apache下 xampp\apache\conf\extra\htppb-vhost.conf  添加如下代码,前面别加#

NameVirtualHost 127.0.0.1:8081

<VirtualHost 127.0.0.1:8081>
 DocumentRoot “D:/xampp/htdocs”
 ServerName localhost
</VirtualHost>

<VirtualHost 127.0.0.1:8081>
 DocumentRoot “D:/seophp”
 ServerName seophp.example.com
 <Directory D:/seophp/>
  Options Indexes FollowSymLinks
  AllowOverride All
  Order allow,deny
  Allow from all
 </Directory>
</VirtualHost> 

重启apache,然后去掉xampp\apache\conf\httpb.conf关于以下代码的注释
# virtual hosts
includ conf/extra/httpb-vhost.conf

3,重启apache,在seophp下建立一个php文件,测试一下。比如:加代码
<?php
phpinfo();
?>

能访问证明创建成功了。

最后总结一下,虽然学的比较费力,但是能在电脑是一步一步操作,并自己解决一些问题还是非常的有成就感的。如果问题没解决自己心里就会非常的烦躁,我相信这样学习也不失是一种很好的自学方法。

关于作者

杰夫(jerfo0)

一个活的真实,耿直的boy。
坚定相信爱情,向往自由,对世界充满好奇心。热爱美剧、海贼王、一切户外运动、旅行...
职业:互联网运营。
生命不息,折腾不止,燥起来!!

查看全部帖子

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注