Window上装PHP开发环境 ,XAMPP

原作者:http://www.cnblogs.com/martin1009/archive/2011/11/11/2245794.html

1. 从www.apachefriends.org 上下载XAMPP for Windows的最新版本,我下的是XAMPP Windows 1.7.1 Installer.

2.双击安装,直接装在默认目录c:\xampp 下.

3.安装过程中,XAMPP Option:将SERVICE SELECTION下面的InstallApache as serviceInstall MySQL as service 选上。

4.一直Next,直到Finish,如果80端口,3306端口以及25端口没有禁用的话,最好关闭防火墙。

5.MySQL权限:XAMPP默认装的MySQL管理员是root ,密码为空 ,首先要给管理员设一个密码:

开始--运行--cmd--cd c:\xampp\mysql\bin mysqladmin -u root password 123(给root设置密码为123,你也可是设成你想要的) 在c:\xampp\phpMyAdmin文件夹中打开config.inc.php ,找到$cfg['Server'][$i]['password']=' '; 将其改成:$cfg['Server'][$i]['password']='123';创建用户和特权:为了提高程序的安全性,应用总是为访问数据库创建新用户,而不是始终使用根用户。GRANT privileges ON database.* TO usrname IDENTIFIED BY 'password‘

privileges 是指用户在特地的数据库上有哪些特权(select,insert,update,delete,index……),一般可以用ALL来表示所有的特权。database.* 表示用户可以处理哪些数据库和表,database.tablename 制定特定的表,或者利用*.*来允许每个数据库。username 可以把用户限定到特定的主机名上,主机名可以是运行MYSQL的计算机,如localhost,或者是远程计算机上运行MYSQL的IP地址(如usrname@localhost或username@远程计算机IP地址)。

比如我在本机上创建一个emi的用户,我可以在Mysql命令行中写:

GRANT ALL ON *.* TO emi@localhost IDNTIFIED BY '123';

然后开始--运行--cmd--cd c:\xampp\mysql\bin,输入mysql -u root -p ,然后输入密码,就可以进入到mysql欢迎界面了。

6.修改MYSQL默认字符集

进入Mysql命令行后,mysql>status ,然后会显示MYSQL默认字符集为latin1:

Server characterset: latin1

Db characterset: latin1

Client characterset: latin1

Conn. characterset: latin1

要改成utf8:

mysql> SET character_set_client = utf8 ;

mysql> SET character_set_connection = utf8 ;

mysql> SET character_set_database = utf8 ;

mysql> SET character_set_results = utf8 ;

mysql> SET character_set_server = utf8 ;

mysql> SET collation_connection = utf8 ;

mysql> SET collation_database = utf8 ;

mysql> SET collation_server = utf8 ;

这样修改后,MySQL服务重启好像又恢复到以前了,建议还是修改My.ini文件。

查看默认字符集(默认情况下,mysql的字符集是latin1(ISO_8859_1)

通常,查看系统的字符集和排序方式的设定可以通过下面的两条命令:

mysql> SHOW VARIABLES LIKE 'character%';

+--------------------------+---------------------------------+

| Variable_name | Value |

+--------------------------+---------------------------------+

| character_set_client | latin1 |

| character_set_connection | latin1 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | latin1 |

| character_set_server | latin1 |

| character_set_system | utf8 |

| character_sets_dir | D:"mysql-5.0.37"share"charsets" |

+--------------------------+---------------------------------+

mysql> SHOW VARIABLES LIKE 'collation_%';

+----------------------+-----------------+

| Variable_name | Value |

+----------------------+-----------------+

| collation_connection | utf8_general_ci |

| collation_database | utf8_general_ci |

| collation_server | utf8_general_ci |

+----------------------+-----------------+

修改默认字符集

最简单的修改方法,就是修改mysql的my.ini文件中的字符集键值,

如 default-character-set = utf8

character_set_server = utf8

修改完后,重启mysql的服务,service mysql restart

使用 mysql> SHOW VARIABLES LIKE 'character%';查看,发现数据库编码均已改成utf8

+--------------------------+---------------------------------+

| Variable_name | Value |

+--------------------------+---------------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | D:"mysql-5.0.37"share"charsets" |

+--------------------------+---------------------------------+

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

今天头一次搭建xampp发现一个问题,apache启动不了,不论点击多少次start,都显示如下:

busy…

apache started

我的windows 7系统默认安装了iis(我要用来进行asp开发),显然是因为80端口被占用了,所以这个端口很busy,从而导致apache无法启动的。解决方法我 google了一下,说了很多很多种...。why?xampp通常就是用来php开发迅速搭建php+mySQL+apache环境的,实际服务器环境 应用至少我是会一一搭建的。既然是开发环境你就好办了,我的asp用的iis服务器是windows的默认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

管它三七二十一,在ie里输入地址:http://localhost:8081/测试,打不开,都修改apache的端口了,试着停止iis的web服务。再启动

apache。还显示如下:

busy…

apache started [port 80]

ie里输入地址:http://localhost:8081/测试,成功打开xampp的网页,提示:

欢迎使用XAMPP for Windows Version 1.6.8 !

祝贺您:

您已经成功安装了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了。

xampp调试过程边做边写,思路随乱......

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

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