zoukankan      html  css  js  c++  java
  • 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:php5ext加入到环境变量path中(C:php5;C:php5ext;)

                  b、将C:php5php.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:Apache24conf 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:Apache24in目录

                     httpd -t

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

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

    4、运行CMD

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

    5、最后测试OK!

  • 相关阅读:
    第十四周学习进度总结
    第十三周学习进度总结
    第十二周学习进度总结
    第十一周学习进度总结
    第十周学习进度总结
    第九周学习进度总结
    第八周学习进度总结
    day16-机器学习十讲第一讲
    day15-验证码识别
    day14-卷积网络识别手写数字
  • 原文地址:https://www.cnblogs.com/JhSonD/p/6207528.html
Copyright © 2011-2022 走看看