win7系统配置php+Apache+mysql环境的方法


Posted in PHP onAugust 21, 2015

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)

win7系统配置php+Apache+mysql环境的方法

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文件也可以打开。

win7系统配置php+Apache+mysql环境的方法

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的配置就基本完成了。

 win7系统配置php+Apache+mysql环境的方法

二、安装配置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根目录

win7系统配置php+Apache+mysql环境的方法

4.重启Apache服务器。

5.测试。

删除www中其他文件,新建一个index.php,内容为<?php phpinfo(); ?>保存,访问出现php的信息就说明php已经成功安装。

备注:

Php的一些常用配置修改:(D:\phpEnv\php\php.ini)

时区的设置:date.timezone = Asia/Shanghai

错误报告等级:error_reporting = E_ALL这个在开发模式下可以全部打开。

三、安装配置mysql5.6.16(mysql-5.6.16-winx64.zip)

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环境的方法,希望大家喜欢。

PHP 相关文章推荐
PHP.MVC的模板标签系统(二)
Sep 05 PHP
C/S和B/S两种架构区别与优缺点分析
Oct 23 PHP
PHP使用xmllint命令处理xml与html的方法
Dec 15 PHP
PHP实现批量修改文件后缀名的方法
Jul 30 PHP
编写PHP脚本使WordPress的主题支持Widget侧边栏
Dec 14 PHP
Yii2 GridView实现列表页直接修改数据的方法
May 16 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
Nov 16 PHP
phpStudy 2016 使用教程详解(支持PHP7)
Oct 18 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
May 28 PHP
Yii框架的redis命令使用方法简单示例
Oct 15 PHP
PHP保存Base64图片base64_decode的问题整理
Nov 04 PHP
PHP时间相关常用函数用法示例
Jun 03 PHP
php生成图片验证码-附五种验证码
Aug 19 #PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
Aug 18 #PHP
深入探究PHP的多进程编程方法
Aug 18 #PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
Aug 18 #PHP
PHP的命令行命令使用指南
Aug 18 #PHP
使用PHP生成图片的缩略图的方法
Aug 18 #PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
Aug 18 #PHP
You might like
历史证明,懒惰才是推动科学发展技术进步的动力
2021/03/02 无线电
php文件扩展名判断及获取文件扩展名的N种方法
2015/09/12 PHP
PHP性能测试工具xhprof安装与使用方法详解
2018/04/29 PHP
innerHTML,outerHTML,innerTEXT三者之间的区别
2007/01/28 Javascript
javascript实现的鼠标链接提示效果生成器代码
2007/06/28 Javascript
如何阻止复制剪切和粘贴事件为了表单内容的安全
2013/05/23 Javascript
JavaScript使用yield模拟多线程的方法
2015/03/19 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
2016/04/01 Javascript
深入理解Ajax的get和post请求
2016/06/02 Javascript
详解HTML5 使用video标签实现选择摄像头功能
2017/10/25 Javascript
Angular实现点击按钮控制隐藏和显示功能示例
2017/12/29 Javascript
使用Vue写一个datepicker的示例
2018/01/27 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
开发Node CLI构建微信小程序脚手架的示例
2020/03/27 Javascript
[01:02:10]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第一局
2016/02/26 DOTA
Django卸载之后重新安装的方法
2017/03/15 Python
对Python中gensim库word2vec的使用详解
2018/05/08 Python
tensorflow实现简单的卷积神经网络
2018/05/24 Python
Python关于excel和shp的使用在matplotlib
2019/01/03 Python
django处理select下拉表单实例(从model到前端到post到form)
2020/03/13 Python
Python 解决相对路径问题:&quot;No such file or directory&quot;
2020/06/05 Python
Python 实现自动登录+点击+滑动验证功能
2020/06/10 Python
图解Python中深浅copy(通俗易懂)
2020/09/03 Python
amazeui时间组件的实现示例
2020/08/18 HTML / CSS
日本运动品牌美津浓官方购物网站:MIZUNO SHOP
2016/08/21 全球购物
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
描述内存分配方式以及它们的区别
2016/10/15 面试题
自荐信的两点禁忌
2013/10/30 职场文书
职专应届生求职信
2013/11/16 职场文书
优秀教师单行材料
2014/12/16 职场文书
2015毕业生简历自我评价
2015/03/02 职场文书
社区青年志愿者活动总结
2015/05/06 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
音乐研修感悟
2015/11/18 职场文书
读《儒林外史》有感:少一些功利,多一些真诚
2020/01/19 职场文书