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 相关文章推荐
珊瑚虫IP库浅析
Feb 15 PHP
php获取post中的json数据的实现方法
Jun 08 PHP
file_get_contents获取不到网页内容的解决方法
Mar 07 PHP
PHP数组操作类实例
Jul 11 PHP
详解WordPress中给链接添加查询字符串的方法
Dec 18 PHP
浅谈mysql_query()函数的返回值问题
Sep 05 PHP
yii2 resetful 授权验证详解
May 18 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
Oct 07 PHP
浅谈PHP各环境下的伪静态配置
Mar 13 PHP
Thinkphp5框架ajax接口实现方法分析
Aug 28 PHP
laravel框架如何设置公共头和公共尾
Oct 22 PHP
php7 list()、session及其他模块的修改实例分析
May 25 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
PHP memcache扩展的三种安装方法
2009/04/26 PHP
基于PHP实现数据分页显示功能
2016/05/26 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
laravel接管Dingo-api和默认的错误处理方式
2019/10/25 PHP
cloudgamer出品ImageZoom 图片放大效果
2010/04/01 Javascript
IE中图片的onload事件无效问题和解决方法
2014/06/06 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
2014/11/17 Javascript
Js的Array数组对象详解
2016/02/22 Javascript
关于angularJs指令的Scope(作用域)介绍
2016/10/25 Javascript
深入理解js中的加载事件
2017/02/08 Javascript
JavaScript中的遍历详解(多种遍历)
2017/04/07 Javascript
微信小程序 实现列表项滑动显示删除按钮的功能
2017/04/13 Javascript
微信小程序methods中定义的方法互相调用的实例代码
2018/08/07 Javascript
在vue中使用express-mock搭建mock服务的方法
2018/11/07 Javascript
JavaScript基于遍历操作实现对象深拷贝功能示例
2019/03/05 Javascript
json字符串对象转换代码实例
2019/09/28 Javascript
javascript使用链接跨域下载图片
2019/11/01 Javascript
vue实现将数据存入vuex中以及从vuex中取出数据
2019/11/08 Javascript
Python多线程和队列操作实例
2015/06/21 Python
Python读取本地文件并解析网页元素的方法
2018/05/21 Python
python求解数组中两个字符串的最小距离
2018/09/27 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
Python 保持登录状态进行接口测试的方法示例
2019/08/06 Python
Pycharm中Python环境配置常见问题解析
2020/01/16 Python
Django模板标签中url使用详解(url跳转到指定页面)
2020/03/19 Python
Python命名空间namespace及作用域原理解析
2020/06/05 Python
selenium+python实现基本自动化测试的示例代码
2021/01/27 Python
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件
2014/05/15 HTML / CSS
HTML5 video标签(播放器)学习笔记(二):播放控制
2015/04/24 HTML / CSS
Bonami斯洛伐克:购买家具和家居饰品
2019/07/02 全球购物
公安民警正风肃纪剖析材料
2014/10/10 职场文书
天鹅湖观后感
2015/06/09 职场文书
傅雷家书读书笔记
2015/06/29 职场文书
关于python类SortedList详解
2021/09/04 Python
python运算符之与用户交互
2022/04/13 Python