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
- 解压至php文件夹中此处以F:\DevEnviroment\WAMP\php为例
- 编写一个helloworld.php文件至任意目录,代码如下
<?php
echo "hello, world!";
?>
然后在php目录中按住Shift+鼠标右键即可选择再次目录下打开CMD,使用命令php.exe -f "F:\DevEnviroment\WAMP\helloworld.php" 即可解析php脚本文件。
3. 到此为止完成基本命令行运行php文件
Step2 配置Apache
理解客户端-服务器-数据库请求应答过程:
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完成服务器请求的应答。解压Apache2.4至相应目录,来到conf目录下编辑httpd.conf文件,检索关键词“ServerRoot”,将其值改为自己Apache的路径,比如我的是
# Define关键字用于定义常量,此处定义了SRVROOT,方便下面是用与以后修改
Define SRVROOT "F:/DevEnviroment/WAMP/Apache24"
ServerRoot "${SRVROOT}"
# 自定义根目录
Define WAMPDIR "F:/DevEnviroment/WAMP"
- 检索关键字“*ServerAdmin *”,可修改Apache管理员邮件地址,改不改都可以
- 检索关键字“*ServerName *”,可以修改Apache服务器地址,此处先修改为:
ServerName localhost:80
- 检索关键字“*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,即得到配置文件,具体配置如下:
- 时区配置:检索关键字“timezone”,取消注释状态后,修改为:
; PRC代表中国
date.timezone = PRC
- 修改httpd.conf文件中php.ini文件的路径
# 设置php.ini配置文件目录(不需要文件名,固定为php.ini)
PHPIniDir "${WAMPDIR}/php/"
Step5 mysql安装
- 环境变量配置。在PATH后追加mysql bin目录路径,例如我的是F:\DevEnviroment\WAMP\mysql5.6\bin
- mysql配置。
复制mysql根目录下my-default.ini文件并改名为my.ini;
在其中修改或添加配置:
basedir = F:\DevEnviroment\WAMP\mysql5.6
datadir = F:\DevEnviroment\WAMP\mysql5.6\data
- 以管理员身份运行cmd后进入mysql bin目录使用mysqld -install命令安装mysql
- 在cmd中输入:net start mysql命令以启动服务
- 服务启动成功之后,输入mysql -u root -p命令登录(第一次登录没有密码,直接按回车过),登录成功!
Step6 PHP关联mysql
- 模块位置设定。配置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"
- 启用mysql
解除以下两行代码的注释:
extension=php_mysql.dll
extension=php_mysqli.dll
- 附测试php代码
<?php
echo "<br />当前时间为:" .date("Y-m-d H:i:s");
$link = mysqli_connect("www.phptest.com","root","");
echo "<br />";
var_dump($link);
?>
Step7 站点配置
- 单站点配置方法可参展Step2 配置Apache的2-5;
- 多站点配置。解除httpd.conf中下面的配置
Include conf/extra/httpd-vhosts.conf
- 将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
参考文章
Windows8.1下PHP环境配置(PHP5.6、Apache2.4、MySql5.6)的更多相关文章
- 16/7/27-PHP环境配置(php5.5.3.7+mysql5.7.12+Apache2.4)
非常感谢http://www.cnblogs.com/jicheng1014/archive/2012/01/26/2329531.html 配置php环境问题 php.ini 路径 "\& ...
- 【转存】阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3
阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3 Posted on 2016年2月10日 by 学院君 1.Apache 配置 —————————————————– vi / ...
- Windows 下 MSYS2 环境配置和 MinGW-w64 C++ 环境配置
Windows 下 MSYS2 环境配置和 MinGW-w64 C++ 环境配置 1.简介 本文主要是 Windows 下 MSYS2 环境配置和 MinGW-w64 C++编译环境配置方法 2.下载 ...
- windows安装PHP5.4+Apache2.4+Mysql5.5
windows安装PHP5.4+Apache2.4+Mysql5.5 作者:星之宇 ┊ 时间:2012-10-18 14:27 ┊ 分类: 网站技术 ┊ 阅读:1232 ┊ 评论:16 最近听说PHP ...
- php在window下的环境配置(VC9)
配置PHP5: 1. 配置PHP5.3.3,打开php安装目录(笔者是D:\php\php5)可以看到目录下有两个这样的文件php.ini- development和php.ini-produ ...
- MAC下 JDK环境配置、版本切换以及ADB环境配置
网上方法,自己总结:亲测可行! 一.JDK环境配置.版本切换: 通过命令’jdk6′, ‘jdk7′,’jdk8’轻松切换到对应的Java版本: 1.首先安装所有的JDk:* Mac自带了的JDK6, ...
- CentOS 下 LNMP 环境配置
安装配置 Nginx 安装配置 MySQL 安装配置 PHP Nginx 与 PHP-FPM 集成 环境配置验证 LNMP 环境代表 Linux 系统下 Nginx + MySQL + PHP 网 ...
- java入门---windows和Linux,UNIX,Solaris,FreeBSD下开发环境配置
首先来看Windows下的操作.我们需要下载java开发工具包JDK.下载地址:http://www.oracle.com/technetwork/java/javase/downloads/ ...
- 【php】在Windows2003下的IIS配置php5.4
本文与<[php]在Windows2003下配置Apache2.4与php5.4>(点击打开链接)为姊妹篇,仅仅是php所用的server有点不同,这里一个是Apache2.4,一个是Wi ...
随机推荐
- linux shell-syntax error near unexpected token错误
在windows下用记事本编写linux shell脚本后,执行遇到syntax error near unexpected token错误 问题原理:网上找了好久,找到原因,原来是回行的问题,每个系 ...
- C#模仿360安全卫士玻璃按钮,不闪烁,背景切换效率快
首先先上效果图: 1.准备两张透明的png图片(尺寸74 x 82),一张用于鼠标进入控件时显示,一张用于鼠标单击控件时显示 2.拖一个GlassButton按钮 3.设置按钮属性 this.btnE ...
- 设计模式23---设计模式之装饰模式(Decorator)(结构型)
1.装饰模式讲解 1.1定义 动态的给一个对象添加一些额外的职责.就增加功能来说,装饰模式比生成子类更加灵活. 1.2装饰模式要点 透明的给一个对象增加功能,换句话说就是要给一个对象增加功能,但是不能 ...
- .NET MVC4 ApiController拦截器的使用
目前在公司新开发了一个项目,第一次正式使用.NET MVC4来搭建,用拦截器来处理权限验证. 自定义拦截器需继承ActionFilterAttribute类,重写OnActionExecuting和O ...
- ZZTHX-线程锁
以前一直在做卡乐付,悲剧的是项目中的余额查询,超级转账和刷卡器相关的东西已经开发好了,我对这块还是比较好奇和感兴趣的,在项目空闲的时候我就开始尝试熟悉和了解这块的业务和代码.实践出真理,只有在实践中才 ...
- IIS连接数
IIS连接数,也叫IIS并发数(Current Connections),是指同一时间内,有多少个对服务器的请求 一般情况下一个浏览器会占用2个IIS连接 同一个浏览器(IE.Firefox等)窗口中 ...
- Mysql 5.5 replication 多数据库主从备份Master-Slave配置总结
配置Mysql server 5.5 的双机备份,也就是master-slave模式.本例子还是一个多database复制的情况. 现在有两个database在同一台mysql server,也就是m ...
- android小笔记
1.启动其他应用程序 Intent launchIntent = getPackageManager().getLaunchIntentForPackage(currentAppInfo.getPac ...
- 反射---Java高级开发必须懂的
理解反射对学习Java框架有很大的帮助,如Spring框架的核心就是使用Java反射实现的,而且对做一些Java底层的操作会很有帮助. 一.Class类的使用 1.万事万物皆 ...
- Python 将文本转换成html的简单示例
实例txt文件test_input.txt: Welcome to World Wide Spam. Inc. These are the corporate web pages of *World ...