PHP自定义环境搭建(apache、php)

1、软件下载:

  PHP下载地址:http://windows.php.net/download 根据自已的情况下载相应版本的程序

   说明:VC14:Microsoft Visual C++ 2015

              VC11:Microsoft Visual C++ 2012

              VC9:Microsoft Visual C++ 2008

             下载VCxx版本的程序需要对应的Microsoft Visual C++版本的支持。

             X86:32位操作系统

             X64:64位操作系统

            (Non) Thread safe : (非)线程安全

      Apache下载地址:http://www.apachehaus.com/cgi-bin/download.plx#REDIST14 

         在这里提供VCxx的下载。

2、安装

  php和apache都是免安装版本,直接解压出来放到C:盘根目录即可(或其他路径下)

     例:C:\Apache24;C:\php5

3、配置

  PHP:  a、将C:\php5、C:\php5\ext加入到环境变量path中(C:\php5;C:\php5\ext;)

              b、将C:\php5\php.ini-production复制一份,并重命名为php.ini,打开php.ini文件

                       去掉extension_dir = "C:/php5/ext"前面的;//设定模块所在路径;修改为指向php语言包中ext这个目录的“完整物理路径”

                       去掉extension=php_mbstring.dll前面的;//

                       去掉extension=php_mysql.dll前面的; //mysql数据库驱动,php5.0以前使用

                       去掉extension=php_mysqli.dll前面的;//mysql数据库驱动

                       去掉date.timezone = 前面的; 并且赋值为PRC  date.timezone = PRC //设置时区为:中国时区

     Apache:

      a、打开C:\Apache24\conf\ httpd.conf

                         修改ServerRoot为apache所在路径

                         去掉ServerName前面的;

                         修改DocumentRoot为web应用项目的目录(默认为c:/Apache24/htdocs),同时修改<Directory "c:/Apache24/htdocs">的路径。

         修改DirectoryIndex为:DirectoryIndex index.html index.php index.htm

                         修改ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/"的c:/Apache24为apache所在路径。同时修改<Directory "c:/Apache24/cgi-bin">的c:/Apache24                                为apache所在路径。

                 b、在最后一行添加:    

         LoadModule php5_module "C:/php5/php5apache2_4.dll" //装载PHP模块,需要给出php5apache2_4.dll文件的完整路径

                         AddType application/x-httpd-php .php .html .htm //告诉apaceh,以.php,.html,.htm结尾的文件交由php语言模块处理

                            也可以用下面语句代替上面的写法:

            <FilesMatch "\.php$"> 

              setHandler  application/x-httpd-php

            </FilesMatch>

            //告诉apache服务器,凡是.php后缀文件,找php语言模块解析(也可以指定其他后缀文件,比如:.pag文件。后缀文件只是代表文件分类)

                         PHPIniDir "C:/php5" //告诉apache服务器,PHP.ini文件的位置(只需指出ini文件所在目录)

                   c、监听配置:

                            Listen 80  //设置apache服务器监听的端口,可以修改或增加多端口监听或以ip:port的形式

                   d、站点配置

          一个站点的2个核心信息为:

              ServerName(服务器名):

                                       DocumentRoot(实际物理路径):

          

 

 

                      目录访问权限:

          一个站点,就是一个目录

                           每个目录,都应该给其设定“访问权限”,语法如下:

          <Directory  "要设置权限的目录路径"

            #设置当一个请求中没有给定请求的文件名又没有默认首页的时候,显示文件列表

            Options   Indexes

            #设置权限控制的先后顺序,只有2种:Deny,Allow(先拒绝,后允许),Allow,Deny(先允许,后拒绝) 

            Order     Deny,Allow

                                  #Deny用于设定要拒绝访问的来源地址或服务器名,几乎没有实际意义

                                  Deny  from  拒绝名单          #比如:Deny   from  192.168.0.1  192.168

                                  Allow  from  允许名单          #比如:Allow  from all 

                                  #设置该文件夹下的默认首页,可以设置多个(按从左到右的顺序找第一个有效的文件名)

                                   DirectoryIndex   index.php  default.html

                            </ Directory>

                     目录访问的分布式权限:

         可以针对Directory 标签设置的目录下的任意子目录进行权限访问控制。

                         第1步:

          在Directory 标签中添加如下语句:

            #表示当前目录允许分布式权限配置

            AllowOverride  all

                         第2步:

          在该目录下需要设置权限访问控制的目录中,创建一个特殊文件(.htaccess 用edit等高级编辑器创建,一般新建文件无法达成)

                            然后在该文件中写所需要的权限内容,如:

               Deny from all  

                                          Allow from 192.168.0.3 

                   多站点配置

                        在多站点配置中,第一个站点被称为默认站点,如果某个请求无法跟任何一个站点匹配,就会当做是请求的是默认站点去处理

                        1、打开Apache的配置文件httpd.conf,将#Include conf/extra/httpd-vhosts.conf前面的#去掉,加载多站点配置文件

                        2、打开httpd-vhosts.conf配置文件,添加(开启)NameVirtualHost *:80

                        3、配置多站点项                           

            <VirtualHost *:80>
              ServerAdmin webmaster@dummy-host.example.com
              DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
              ServerName dummy-host.example.com
              ServerAlias www.dummy-host.example.com
              ErrorLog "logs/dummy-host.example.com-error.log"
              CustomLog "logs/dummy-host.example.com-access.log" common

              <Directory "c:/Apache24/docs/dummy-host.example.com"

                Options   Indexes

                Order     Deny,Allow

                Allow  from all

                DirectoryIndex   index.php  default.html

                                             AllowOverride  all

                                       </Directory >

                                       Alias   /虚拟目录  "真实存在的目录路径" #1、设置虚拟目录                                    

              <Directory "真实存在的目录路径"        #2、设置虚拟目录  

                Options   Indexes

                Order     Deny,Allow

                Allow  from all

                DirectoryIndex   index.php  default.html

                                             AllowOverride  all

                                       </Directory >

            </VirtualHost> 

                         4、如果是本机测试,需添加:IP:域名对应关系到hosts文件中            

   检测Apache配置语法的命令:

      打开CMD,进入C:\Apache24\bin目录

                 httpd -t

                 如果配置没有问题,返回:Syntax OK;否则返回具体的错误信息。

       注意:修改apache配置文件 后,必须重启apache服务器,配置才会生效。

4、运行CMD

  在apache/bin输入 httpd -k install 生成windows服务(如果存在可以用 http -k uninstall先删除)

5、最后测试OK!

posted @ 2016-12-21 14:10  JohnsonD  阅读(319)  评论(0编辑  收藏  举报