Windows8.1下PHP环境配置(PHP5.6、Apache2.4、MySql5.6)

Step0 安装准备(均为64-bit版本)

  • 下载php “Non Thread Safe”是IIS专用的,“Thread Safe”是Apache服务器用的。
  • 下载Apache
  • 下载mysql 有“ZIP Archive”解压版和“MSI”安装版两个版本此文章以“ZIP Archive”解压版本为例
  • 建议所有的文件均解压至同一个用于开发的目录下

Step1 命令行运行PHP

  1. 解压至php文件夹中此处以F:\DevEnviroment\WAMP\php为例
  2. 编写一个helloworld.php文件至任意目录,代码如下

    <?php
      echo "hello, world!";
    ?>
    然后在php目录中按住Shift+鼠标右键即可选择再次目录下打开CMD,使用命令php.exe -f "F:\DevEnviroment\WAMP\helloworld.php" 即可解析php脚本文件。
  3. 到此为止完成基本命令行运行php文件

Step2 配置Apache

  1. 理解客户端-服务器-数据库请求应答过程:
    1.1 客户端发出请求至Apache(Web服务器软件);
    1.2 Apache捕获到请求后从站点文件中读取所需要的文件(比如:html、css、js、图片、php),准备响应请求;
    1.3 Apache将其中的php文件交给PHP语言引擎处理;
    1.4 PHP语言引擎将脚本文件中有关数据库的命令交给mysql(数据库)处理;
    1.5 而后mysql返回数据给PHP语言引擎;
    1.6 其处理完成后,处理的结果,即html文件返回给Apache;
    1.7 Apache完成服务器请求的应答。

  2. 解压Apache2.4至相应目录,来到conf目录下编辑httpd.conf文件,检索关键词“ServerRoot”,将其值改为自己Apache的路径,比如我的是

    # Define关键字用于定义常量,此处定义了SRVROOT,方便下面是用与以后修改
    Define SRVROOT "F:/DevEnviroment/WAMP/Apache24"
    ServerRoot "${SRVROOT}"
    # 自定义根目录
    Define WAMPDIR "F:/DevEnviroment/WAMP"
  3. 检索关键字“ServerAdmin ”,可修改Apache管理员邮件地址,改不改都可以
  4. 检索关键字“ServerName ”,可以修改Apache服务器地址,此处先修改为:

    ServerName localhost:80
  5. 检索关键字“DocumentRoot  ”,修改内容与注意事项如下

    # 自定义了网站根目录
    DocumentRoot "${WAMPDIR}/zhtdocs"
    <Directory "${WAMPDIR}/zhtdocs">
    # 有权限访问时以目录方式列出文件
    Options Indexes
    
    # 默认访问文件,此处可以多添加几项,服务器遍历查找第一个匹配项
    DirectoryIndex index.html
    
    # 表示当前目录允许分布式权限配置
    AllowOverride all
    
    # 访问权限设置
    # 全部允许
    #Require all granted
    # 全部禁止
    #Require all denied
    # 部分允许或禁止//此为禁止192.168.1的ip访问,但是允许其他网址访问(本机识别为127.0.0.1)
    <RequireAll>
        Require all granted
        #Require not ip 192.168.1
    </RequireAll>
    </Directory>

    但是这样只是设置了单个目录的访问权限,使用以下方法可以分布式配置目录访问权限:在子目录中添加名为.htaccess的只有扩展名的文本文件(Win自带的文本编辑器不能创建该文件),内容为

    <RequireAll>
    Require all denied
    Require ip 127.0.0
    </RequireAll>
    之后则将其复制到需要设定权限的文件夹即可。
  6. 至此,Apache配置完成,打开bin文件夹下httpd.exe,一闪而过则说明配置有问题(一闪而过时在bin补录下打开CMD,使用httpd -t命令查找错误),若窗口保持打开则说明配置没有问题,接着访问localhost可以打开网页则配置成功。

Step3 关联Apache与PHP

# 加载PHP模块
LoadModule php5_module "${WAMPDIR}/php/php5apache2_4.dll"

# 告知Apache凡是以.php结尾的文件,关联php模块进行解析
#<FilesMatch "\.php$">
#   setHandler application/x-httpd-php
#</FilesMatch>

# 告知Apache凡是以.php结尾的文件,关联php模块进行解析方法二(可关联多后缀)
AddType application/x-httpd-php .php .pap .phtml

Step4 PHP配置

将php目录下php.ini-development文件复制一份后改名为php.ini,即得到配置文件,具体配置如下:

  1. 时区配置:检索关键字“timezone”,取消注释状态后,修改为:

    ; PRC代表中国
    date.timezone = PRC
  2. 修改httpd.conf文件中php.ini文件的路径

    # 设置php.ini配置文件目录(不需要文件名,固定为php.ini)
    PHPIniDir "${WAMPDIR}/php/"

Step5 mysql安装

  1. 环境变量配置。在PATH后追加mysql bin目录路径,例如我的是F:\DevEnviroment\WAMP\mysql5.6\bin
  2. mysql配置。
    复制mysql根目录下my-default.ini文件并改名为my.ini;
    在其中修改或添加配置:

    basedir = F:\DevEnviroment\WAMP\mysql5.6
    datadir = F:\DevEnviroment\WAMP\mysql5.6\data
  3. 以管理员身份运行cmd后进入mysql bin目录使用mysqld -install命令安装mysql
  4. 在cmd中输入:net start mysql命令以启动服务
  5. 服务启动成功之后,输入mysql -u root -p命令登录(第一次登录没有密码,直接按回车过),登录成功!

Step6 PHP关联mysql

  1. 模块位置设定。配置php.ini如下

    ; Directory in which the loadable extensions (modules) reside.
    ; http://php.net/extension-dir
    ; extension_dir = "./"
    ; On windows:
    extension_dir = "F:/DevEnviroment/WAMP/php/ext"
  2. 启用mysql
    解除以下两行代码的注释:

    extension=php_mysql.dll
    extension=php_mysqli.dll
  3. 附测试php代码

    <?php
      echo "<br />当前时间为:" .date("Y-m-d H:i:s");
      $link  = mysqli_connect("www.phptest.com","root","");
      echo "<br />";
      var_dump($link);
    ?>

Step7 站点配置

  1. 单站点配置方法可参展Step2 配置Apache的2-5
  2. 多站点配置。解除httpd.conf中下面的配置

    Include conf/extra/httpd-vhosts.conf
  3. 将conf/extra目录下的httpd-vhosts.conf做一定修改,参考如下:

# 第零个默认站点,没有域名匹配,但是解析出的ip地址符合此服务器ip时访问该目录
<VirtualHost _default_:80>
    DocumentRoot "${SRVROOT}/htdocs"
    #ServerName www.example.com:80
</VirtualHost>


# 第一个站点配置
<VirtualHost *:80>
    ServerName  www.phptest.com
    # 设置站点别名,通过以下域名亦可访问
    ServerAlias map.phptest.com
    DocumentRoot "${WampDir}/zhtdocs"
    <Directory "${WampDir}/zhtdocs">
        Options Indexes
        DirectoryIndex helloworld.php
        AllowOverride none
        Require all granted
    </Directory>
    # 设置虚拟目录
    Alias /software "E:/03Dev/软件"
    <Directory "E:/03Dev/软件">
        Options Indexes
        AllowOverride none
        Require all granted
    </Directory>
</VirtualHost>

# 第二个站点配置
<VirtualHost *:80>
    ServerName  www.phptest2.com
    DocumentRoot "${WampDir}/site2"
    <Directory "${WampDir}/site2">
        Options Indexes
        AllowOverride none
        Require all granted
    </Directory>
</VirtualHost>

注意:上面出现的域名都需要在本机hosts(路径:C:/Windows/System32/drivers/etc)文件中配置DNS解析,示例如下:

#php测试使用部分
127.0.0.1    localhost
127.0.0.1    www.phptest.com
127.0.0.1    map.phptest.com
127.0.0.1    www.phptest2.com

参考文章

  1. Apache 2.4.16、PHP5.6.11安装教程
  2. MySQL 5.6 for Windows 解压缩版配置安装
  3. 传智播客PHP从入门到精通2015版视频

你可能感兴趣的:(Windows8.1下PHP环境配置(PHP5.6、Apache2.4、MySql5.6))