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 相关文章推荐
dede3.1分页文字采集过滤规则详说(图文教程)续四
Apr 03 PHP
PHP 网页过期时间的控制代码
Jun 29 PHP
PHP 强制下载文件代码
Oct 24 PHP
PHP 使用MySQL管理Session的回调函数详解
Jun 21 PHP
PHP实现自动登入google play下载app report的方法
Sep 23 PHP
浅析php创建者模式
Nov 25 PHP
php实现简单的语法高亮函数实例分析
Apr 27 PHP
PHP读取zip文件的方法示例
Nov 17 PHP
PHP生成唯一ID之SnowFlake算法
Dec 17 PHP
Yii CFileCache 获取不到值的原因分析
Feb 08 PHP
PHP判断是否是微信打开还是浏览器打开的方法
Feb 27 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
Oct 10 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
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
详解Laravel服务容器的绑定与解析
2019/11/05 PHP
用JS将搜索的关键字高亮显示实现代码
2013/11/08 Javascript
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
手机平板等移动端适配跳转URL的js代码
2014/01/25 Javascript
jquery获取当前点击对象的value方法
2014/02/28 Javascript
用jquery的方法制作一个简单的导航栏
2014/06/23 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
javascript实现瀑布流加载图片原理
2016/02/02 Javascript
AngularJS中的表单简单入门
2016/07/28 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
基于vue-simplemde实现图片拖拽、粘贴功能
2018/04/12 Javascript
jQuery实现表单动态加减、ajax表单提交功能
2018/06/08 jQuery
详解使用 Node.js 开发简单的脚手架工具
2018/06/08 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
浅谈Vue.js 关于页面加载完成后执行一个方法的问题
2019/04/01 Javascript
仅用500行Python代码实现一个英文解析器的教程
2015/04/02 Python
Python判断对象是否为文件对象(file object)的三种方法示例
2019/04/26 Python
详解Python 定时框架 Apscheduler原理及安装过程
2019/06/14 Python
python基于递归解决背包问题详解
2019/07/03 Python
在python中实现调用可执行文件.exe的3种方法
2019/07/07 Python
TensorFlow-gpu和opencv安装详细教程
2020/06/30 Python
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
video结合canvas实现视频在线截图功能
2018/06/25 HTML / CSS
英国购买威士忌网站:Master of Malt
2019/09/26 全球购物
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
2013/05/18 面试题
安全资料员岗位职责
2013/12/14 职场文书
物业保安主管岗位职责
2013/12/25 职场文书
汽车检测与维修专业求职信
2014/07/04 职场文书
反腐倡廉心得体会2016
2016/01/13 职场文书
《天净沙·秋思》教学反思三篇
2019/11/02 职场文书
《思路决定出路》读后感3篇
2019/12/11 职场文书
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫