码迷,mamicode.com
首页 > Web开发 > 详细

【PHP入门教程一】安装 WAMP 环境

时间:2015-02-16 18:20:58      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:

本教程主要为php的面试及入门考虑,内容比较简单,高手勿喷。第一篇我们先来学习一下Wamp环境的安装,Wamp 即是windows + apache + mysql + php的缩写,本文介绍最新版本的安装。其实在windows开发环境中有套装的集成环境wamp可以直接使用,但是对于我们学习一门语言,也要学会它的环境,因此配置安装也是很重要的。对于production release,我们最重要的是学会Lamp环境,即是Linux环境下的安装。下一篇教程我们将会介绍。因为这个对于一个phper是必须的。好了,言归正传,让我们开始学习吧~ 

 

安装 WAMP 环境

1 apache 安装

1.1 目录

我们先从官网上下载http://www.apachehaus.com/cgi-bin/download.plx?dli=hpXRzMVVBFjTEN2aSd0Y0okVOpkVFVVcNdEbuJVQ

apache Haus这个是新的名字,其实就是apache2.4

下载完成后解压到你需要的目录即可。

技术分享

bin :apache的二进制可执行文件,用来操作apache。其中主要执行文件httpd.exe

conf :配置文件目录,主配置文件httpd.conf,另外extra目录中的httpd-vhosts.conf可以配置虚拟主机

htdocs: apache默认的根目录

include: apache包含的C库

logs:记录apache的日志包括安装日志,访问日志,错误日志等

modules:apache的模块

1.2 注册服务

非安装版的apache我们需要手动来注册httpd服务。

用以下命令安装一个名字为MyServiceName的httpd服务,-n名字,默认服务名称为apache2.4

httpd.exe -k install -n "MyServiceName"

移除httpd服务可以用:

httpd.exe -k uninstall

启动httpd服务

httpd.exe -k start -n "MyServiceName"

停止httpd服务

httpd.exe -k stop -n "MyServiceName"

在windows注册服务成功后,我们可以在服务列表中看到:

技术分享

同样,我们可以这样启动服务

技术分享

停止服务

技术分享

1.3 添加主机域名

由于没有DNS,我们在测试环境需要手动添加需要的主机名,修改文件C:\Windows\System32\drivers\etc\hosts

127.0.0.1       localhost zf2-tutorial.localhost

这样我们就添加了localhost 和 zf2-tutorial.localhost两个域名,同时会映射到我们的本地地址,加空格可以再添加多个。

添加完后我们来测试一下,看到这个页面说明你apache已经安装成功。

技术分享

1.4 添加虚拟主机

通常来说,在windows的apache环境添加站点,不介意直接修改主配置文件,而且主配置文件修改只能对应一个站点。

所以我们可以通过添加虚拟主机的方法来添加多个站点。修改conf\extra\httpd-vhosts.conf文件

添加如下代码

<VirtualHost *:80>  #设置站点方位端口,默认为80端口
    DocumentRoot "E:\ZendSkeletonApplication-master\ZendSkeletonApplication-master\public"    #网站根目录
    SetEnv APPLICATION_ENV "development" #设置应用环境变量
    ServerName zf2-tutorial.localhost #设置服务器名,需要和hosts文件中对应
    <Directory "E:\ZendSkeletonApplication-master\ZendSkeletonApplication-master\public"> #目录权限设置
    DirectoryIndex index.php #设置默认入口文件
    AllowOverride All
    Require all granted #apche中新的配置限制ip访问目录的方法,这里表示允许任何ip访问这个目录
    </Directory>
</VirtualHost>

AllowOverride 参数说明

通常利用 Apache的rewrite模块对 URL 进行重写的时候, rewrite规则会写在 .htaccess 文件里。但要使 apache 能够正常的读取.htaccess 文件的内容,就必须对.htaccess 所在目录进行配置。从安全性考虑,根目录的AllowOverride属性一般都配置成不允许任何Override,即:

 

< Directory />
AllowOverride None
< /Directory>

 

在 AllowOverride 设置为 None 时, .htaccess 文件将被完全忽略。当此指令设置为 All 时,所有具有 “.htaccess” 作用域的指令都允许出现在 .htaccess 文件中。

而对于 URL rewrite 来说,至少需要把目录设置为:

 

< Directory /myblogroot/>
AllowOverride FileInfo
< /Directory>

 

而对于 URL rewrite 来说,至少需要把目录设置为:

AuthConfig

允许使用与认证授权相关的指令(AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, 等)。

FileInfo

允许使用控制文档类型的指令(DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, mod_mime中的 Add* 和 Remove* 指令等等)、控制文档元数据的指令(Header, RequestHeader, SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle, CookieTracking, CookieName)、mod_rewrite中的指令(RewriteEngine, RewriteOptions, RewriteBase, RewriteCond, RewriteRule)和mod_actions中的Action指令。

Indexes

允许使用控制目录索引的指令(AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, 等)。

Limit

允许使用控制主机访问的指令(Allow, Deny, Order)。

Options[=Option,...]

允许使用控制指定目录功能的指令(Options和XBitHack)。可以在等号后面附加一个逗号分隔的(无空格的)Options选项列表,用来控制允许Options指令使用哪些选项。

 

require 参数说明

  1. ################################################ 
  2. 2.2上的配置 
  3. Order deny,allow 
  4. Deny from all 
  5.  
  6. 2.4上的配置 
  7. Require all denied 
  8.  
  9. ################################################ 
  10. 2.2上的配置 
  11. Order allow,deny 
  12. Allow from all 
  13.  
  14. 2.4上的配置 
  15. Require all granted 
  16.  
  17. ################################################# 

Order allow,deny

可以理解为先允许,后排除,

那么下一句要写deny from ip..来拒绝这些ip访问

 

Order deny,allow

可以理解为先排除,后允许

那么下一句要写allow from ip..来限定这几个ip访问

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下面给出了几个例子在2.4版本上的配置
1. 仅允许IP为192.168.1.1的主机访问

  1. <RequireAll> 
  2.       require all  granted 
  3.       require ip 192.168.1.1 
  4. </RequireAll> 

2.仅允许192.168.0.0/24网络的主机访问

  1. <RequireAll>  
  2.       require all  granted  
  3.       require ip 192.168.1.0/24 
  4. </RequireAll>  

3.禁止192.168.1.2的主机访问,其他的都允许访问,

  1. <RequireAll> 
  2.       require all  granted 
  3.       require not ip 192.168.1.2 
  4. </RequireAll> 

4.允许所有访问,

  1. require all  granted  
  2.  
  3. 注,这个可以不用加容器 ......   
  4. 直接,写在  .....里面就可以了
  5.  

5.拒绝所有访问,

  1. require all  denied  

2 php 安装

目前windows最新php版本为PHP 5.6

http://windows.php.net/downloads/releases/php-5.6.5-Win32-VC11-x86.zip

下载完成后解压,主目录下php.ini-development开发用的配置文件重名为php.ini

修改扩展路径

extension_dir = "D:\software\php\ext"

把 extension=php_mysql.dll 前的;去掉

加载相应的模块去掉前面的;即可

修改时区,国内用PRC

date.timezone = UTC

修改apache主配置文件httpd.conf

在loadModule列表后加上

LoadModule php5_module "D:/software/php/php5apache2_4.dll"
PHPIniDir "D:/software/php/php.ini"

在IfModule mime_module标签内加入apache对php文件类型的支持

# Add Type for php
    AddType application/x-httpd-php .php .html .htm

如果需要有rewrite模块的可以打开注释(用于.htacess文件中开启对url重写的功能)

LoadModule rewrite_module modules/mod_rewrite.so

到这里apache和php的集成已经完成了,

下面加入在根目录下添加一个查看配置的测试文件

<?php
phpinfo();
?>

技术分享

Success!

3 mysql安装

windows下mySQL安装还是比较简单的,可用“轻松+愉快”来形容。

首先我们去mysql官网下载社区版本http://dev.mysql.com/downloads/file.php?id=455349

 

-选择install

技术分享

-确认licence

技术分享

-选择安装类型 选择自定义,去掉那些庞大无用,比如workbench,建议自己安装轻量级的客户端如sqlyog

技术分享

 

-选择相应的开发组件,有odbc,jdbc,c++ connector,.net connector等

技术分享

-正在安装

技术分享

-安装完成配置参数 默认端口号3360

技术分享

-配置root用户和新增用户

 技术分享

技术分享

-配置服务名称和运行账户

技术分享

安装完成后我们启动mysql服务/关闭mysql服务 默认安装完已经启动了

技术分享

启动成功说明安装完成,建议接着安装数据库客户端,比如sqlyog,我一直用这个,很好用。

然后可以用mysql command line client 登录数据库(开始->菜单),也可进入命令行mysql目录下操作

技术分享

进入命令行,我们先创建一个database

create database test;

使用这个数据库

use test;

创建一张数据表

create table person(

  id int AUTO_INCREMENT,

  name varchar(255) not null,

  primary key(id)

);

插入数据

intert into person values(1, ‘david‘);

 

最后我们加入测试文件

<?php
    //链接mysql
    $link=mysql_connect("localhost","root","") or die(‘FAILD TO CONNECT!‘);
    //选择数据库库
    mysql_select_db("test");
    //执行sql
    $result = mysql_query("select id,name from person");
    print"<table border=1>";
    print"<tr><th>ID</th><th>Name</th></tr>";
    //取出行数组
    while($t_result = mysql_fetch_array($result)){
      $tr = "<tr><td>".$t_result["id"]."</td><td>".$t_result["name"]."</td></tr>";
      print $tr;
    }
    print"</table>";
?> 

链接成功!数据显示正常!

技术分享

4 参考资料

http://blog.sina.com.cn/s/blog_9082c1e501018v5x.html

http://www.chinaz.com/server/2010/0129/105397.shtml

http://httpd.apache.org/docs/current/platform/windows.html#down

 

5 总结

本文件简单介绍了WAMP环境的安装,此环境主要用于开发和测试,生产环境最好在Linux上部署,如果用Server的话也介意使用IIS,不要用Windows上的apache。后面我们将会介绍Linux上的LAMP环境安装,同时我们要深入了解配置文件。关于MySQL的配置也会在后续的文章中详述!

 

                          

【PHP入门教程一】安装 WAMP 环境

标签:

原文地址:http://www.cnblogs.com/keaixiaoye/p/4293201.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!