搜诶符合你 发表于 2017-12-24 18:00:03

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 = 前面的; 并且赋值为PRCdate.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$">
  setHandlerapplication/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用于设定要拒绝访问的来源地址或服务器名,几乎没有实际意义
  Denyfrom拒绝名单          #比如:Deny   from192.168.0.1192.168
  Allowfrom允许名单          #比如:Allowfrom all
  #设置该文件夹下的默认首页,可以设置多个(按从左到右的顺序找第一个有效的文件名)
  DirectoryIndex   index.phpdefault.html
  </ Directory>
  目录访问的分布式权限:
  可以针对Directory 标签设置的目录下的任意子目录进行权限访问控制。
  第1步:
  在Directory 标签中添加如下语句:
  #表示当前目录允许分布式权限配置
  AllowOverrideall
  第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
  Allowfrom all
  DirectoryIndex   index.phpdefault.html
  AllowOverrideall
  </Directory >
  Alias   /虚拟目录"真实存在的目录路径" #1、设置虚拟目录                                    
  <Directory "真实存在的目录路径"      #2、设置虚拟目录
  Options   Indexes
  Order   Deny,Allow
  Allowfrom all
  DirectoryIndex   index.phpdefault.html
  AllowOverrideall
  </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!
页: [1]
查看完整版本: PHP自定义环境搭建(apache、php)