B/S架构当下很流行,因为B/S架构有众多优点,例如:用户只需有浏览器就可使用,维护升级都比较方便,跨平台,等等。本文就讲讲Windows+Apache+PHP+Mysql的开发环境如何配置。
如何在win7系统下配置php环境呢,php+Apache+mysql都是在配置过程中必不可少的元素,php负责解析php代码,apache负责服务器端而mysql是数据交互的中转站。
那么如何将php+apache+mysql配置好呢,接下来我们看一下具体的方法,软件版本会改变所以需要自己因时制宜,随机应变。
第一步:
php-5.5.10-Win32-VC11-x64.zip 下载地址: http://windows.php.net/download/
httpd-2.4.7-win64-VC11.zip 下载地址: http://www.apachelounge.com/download/
mysql-5.6.16-winx64.zip 下载地址: http://dev.mysql.com/downloads/mysql/
第二步:
安装配置Apache2.4.7(httpd-2.4.7-win64-VC11.zip )
1、解压下载的安装包:httpd-2.4.7-win64-VC11.zip将其放到自己的安装目录(我的目录D:\phpEnv\Apache24)
2.然后对http.conf(D:\phpEnv\Apache24\conf\http.conf)配置文件进行修改-使用记事本打开就行
(1)修改ServerRoot Apache的根路径:
(37行)ServerRoot"c:/Apache24"改成=>ServerRoot "D:/phpEnv/Apache24"
(2)修改ServerName你的主机名称:
如果此行不修改则启动apache 提示Starting httpd: AH00558
(217行)ServerName www.example.com:80将前面的#去掉,该属性在从命令行启动Apache时需要用到。
(3)修改DocumentRoot Apache访问的主文件夹目录,就是php、html代码文件的位置。Apache默认的路径是在htdocs(D:\phpEnv\Apache24\htdocs)下面,里面会有个简单的入口文件index.html。这个路径可以自己进行修改,我这里将其配置在我自己新建的文件夹www(D:\phpEnv\www)下。
(247行) DocumentRoot "c:/Apache24/htdocs"
<Directory "c:/Apache24/htdocs">
改为=>
DocumentRoot "D:\phpEnv\www"
<Directory "D:\phpEnv\www">
(4)修改入口文件配置:DirectoryIndex一般情况下我们都是以index.php、index.html、index.htm作为web项目的入口。Apache默认的入口只有index.html需要添加其他两个的支持,当然这个入口文件的设置可以根据自己的需要增减,如果要求比较严格的话可以只写一个index.php,这样在项目里面的入口就只能是index.php
(274行)<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
改为=>
<IfModuledir_module>
DirectoryIndex index.php index.htm index.html
</IfModule>
(5)设定serverscript的目录:
(358行)ScriptAlias/cgi-bin/ "c:/Apache24/cgi-bin/"改为=> ScriptAlias/cgi-bin/ "D:/phpEnv/Apache24/cgi-bin"
(6)(380行)
<Directory "c:/Apache24/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
改为=>
<Directory "D:/phpEnv/Apache24/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
3、接下来就可以启动Apache了
开始---运行,输入cmd,打开命令提示符。接着进入D:\phpEnv\Apache24\bin目录下回车httpd回车,如图所示.
没有报错的话就可以测试了(保持该命令窗口为打开的状态)。
把Apache24\htdocs目录下的index.html放到D:\phpEnv\www目录下,用浏览器访问会出现“It works”那么就说明apache已经正确安装并启动了。也可以自己写一个简单的index.html文件也可以打开。
4、将Apache加入到window服务启动项里面并设置成开机启动
先关闭httpd的服务(将命令窗口关闭即可)
重新打开一个新的命令窗口进入到D:\phpEnv\Apache24\bin目录下:
添加HTTP服务的命令是:httpd.exe -kinstall -n "servicename" servicename是服务的名称,我添加的是:httpd.exe -k install -n "Apache24"命令成功后会有成功的提示,此时你可以在window服务启动项中看到Apache24这个服务
然后点击启动就可以了,如果不想设置成开机启动的话也可以将启动类型修改为手动。
如果要卸载这个服务的话,先要停止这个服务,然后输入httpd.exe -k uninstall -n "Apache24"卸载这个服务。
当然也可以通过D:\phpEnv\Apache24\bin下面的ApacheMonitor.exe来启动Apache这里就不多说了
如此Apache的配置就基本完成了。
二、安装配置php5.5.10(php-5.5.10-Win32-VC11-x64.zip)
1、将下载的php-5.5.10-Win32-VC11-x64.zip 解压到安装目录下我的是(D:\phpEnv\php)
2、将目录下的php.ini-development文件复制一份并改名为php.ini他是php的配置文件
3、为Apache服务添加php支持
打开Apache的配置文件http.conf在最后加上
# php5 support LoadModule php5_module “D:/phpEnv/php/php5apache2_4.dll” AddHandler application/x-httpd-php .php AddType application/x-httpd-php .html .htm # configure thepath to php.ini PHPIniDir "D:/phpEnv/php"
这里我添加在LoadModule下面
添加的时候要保证你的php5apache2_4.dll文件确实存在php5.5的早期版本里面是没有这个文件的,不过高点版本里面已经有了,可以打开php安装目录找下这个文件
PHPIniDir"D:/phpEnv/php"这个就是你的php根目录
4.重启Apache服务器。
5.测试。
删除www中其他文件,新建一个index.php,内容为<"color: #0000ff">1、安装mysql
64位的mysql暂时没找到msi的安装包,因此直接解压到安装目录下,然后配置相关的环境变量,修改配置文件,添加window服务就行,这里就不详细写了。这里把我的配置文件贴出来给大家参考下:
[mysqld] loose-default-character-set = utf8 basedir = D:/program/mysql-5.6 datadir = D:/program/mysql-5.6/data port = 3306 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES character_set_server = utf8 [client] loose-default-character-set = utf8
注:basedir是mysql的根目录,datadir是mysql的数据存储目录。其他的我就不做解释了
安装完mysql是没有图形用户界面的,可以安装个Navicat for MySQL之类的软件,这样看起来会比较方便点。
将mysql注册成为服务:mysqld.exe --install mysql
将mysql服务进行删除:mysqld.exe --remove mysql
2、安装完成mysql之后,为php添加mysql支持
打开php的配置文件php.ini(D:\phpEnv\php\php.ini)
(1)(721行); extension_dir = "ext",去掉前面的“;”,并改为extension_dir ="D:\phpEnv\php\ext"打开php的扩展支持,ext文件夹下有很多php的扩展支持.dll文件,感兴趣的同学可以看一下。
(2)然后就是打开php的mysql扩展了
(875、876行)去掉前面的“;”
extension=php_mysql.dll extension=php_mysqli.dll
当然也可以打开881行的php_pdo_mysql.dll启用php的pdo支持我一般都用这个。
注:在第863行到第888行有很多扩展选择,你要用到什么,去掉前面的“;”就可以了。当然如果要添加其他的扩展支持如redis支持,php本身可能没有提供相应的dll文件,就需要自己去找到相应版本的dll添加到ext文件夹中,然后在配置文件中添加一个extension=…
完成之后,重启Apache
3)、启动MySQL服务
net start mysql
MySQL服务正在启动 .
MySQL服务无法启动。
4)、登陆MySQL服务器
mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.32-community MySQL Community Edition (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
注意:MySQL的管理员用户名为root,密码默认为空。
5)、查看数据库
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+ 3 rows in set (0.02 sec)
可以看到MySQL服务器中有三个数据库。
6)、使用数据库
mysql> use test Database changed
7)、查看数据库中的表
mysql> show tables; Empty set (0.00 sec)
8)、创建表ttt
mysql> create table ttt(a int,b varchar(20)); Query OK, 0 rows affected (0.00 sec)
9)、插入三条数据
mysql> insert into ttt values(1,'aaa'); Query OK, 1 row affected (0.02 sec) mysql> insert into ttt values(2,'bbb'); Query OK, 1 row affected (0.00 sec) mysql> insert into ttt values(3,'ccc'); Query OK, 1 row affected (0.00 sec)
10)、查询数据
mysql> select * from ttt; +------+------+ | a | b | +------+------+ | 1 | aaa | | 2 | bbb | | 3 | ccc | +------+------+ 3 rows in set (0.00 sec)
11)、删除数据
mysql> delete from ttt where a=3; Query OK, 1 row affected (0.01 sec)
删除后查询操作结果:
mysql> select * from ttt; +------+------+ | a | b | +------+------+ | 1 | aaa | | 2 | bbb | +------+------+ 2 rows in set (0.00 sec)
12)、更新数据
mysql> update ttt set b = 'xxx' where a =2; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0
查看更新结果:
mysql> select * from ttt; +------+------+ | a | b | +------+------+ | 1 | aaa | | 2 | xxx | +------+------+ 2 rows in set (0.00 sec)
13)、删除表
mysql> drop table ttt; Query OK, 0 rows affected (0.00 sec)
查看数据库中剩余的表:
mysql> show tables; Empty set (0.00 sec)
三、更改MySQL数据库root用户的密码
1、使用mysql数据库
mysql> use mysql Database changed
2、查看mysql数据库中所有的表
mysql>show tables; +---------------------------+ | Tables_in_mysql | +---------------------------+ | columns_priv | | db | | func | | help_category | | help_keyword | | help_relation | | help_topic | | host | | proc | | procs_priv | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ 17 rows in set (0.00 sec)
3、删除mysql数据库中用户表的所有数据
mysql> delete from user; Query OK, 3 rows affected (0.00 sec)
4、创建一个root用户,密码为"xiaohui"。
mysql>grant all on *.* to root@'%' identified by 'xiaohui' with grant option; Query OK, 0 rows affected (0.02 sec)
5、查看user表中的用户
mysql> select User from user; +------+ | User | +------+ | root | +------+ 1 row in set (0.00 sec)
6、重启MySQL:更改了MySQL用户后,需要重启MySQL服务器才可以生效。
net stop mysql
MySQL 服务正在停止..
MySQL 服务已成功停止。
net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
7、重新登陆MySQL服务器
mysql -uroot -pxiaohui Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.32-community MySQL Community Edition (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
如果修改密码后net startmysql出现不能启动mysql的1067错误,则可以使用以下办法解决:
使用cmd命令:D:\Appserv\mysql\bin\mysqladmin -uroot -p shutdown,然后输入密码,再net start mysql 就没有这个错误提示了!
四、数据库的创建与删除
1、创建数据库testdb
mysql> create database testdb; Query OK, 1 row affected (0.02 sec)
2、使用数据库testdb
mysql> use testdb; Database changed
3、删除数据库testdb
mysql> drop database testdb; Query OK, 0 rows affected (0.00 sec)
4、退出登陆
mysql>exit Bye C:\Documents and Settings\Administrator>
五、操作数据库数据的一般步骤
1、启动MySQL服务器
2、登陆数据库服务器
3、使用某个要操作的数据库
4、操作该数据库中的表,可执行增删改查各种操作。
5、退出登陆。
以上内容讲述了win7系统配置php+Apache+mysql环境的方法,希望大家喜欢。