PHP Windows环境部署
1. 说明
本文用来在windows环境下手工搭建PHP开发环境,安装的功能模块主要包含MySQL,PHP以及Apache三个,环境如下:
l Window7(64位)
l MySQL 5.7.14
l PHP 5.6(64位)
l Apache 2.4.23(64位)
为了方面管理与配置,我们将所有的功能模块都安装在C盘的PHP目录下。
2. MySQL
2.1 安装
下载地址:http://dev.mysql.com/downloads/installer/
双击下载的程序进行安装
2.2 服务
为了方便访问MySQL数据库,可以选择将MySQL安装为window服务。安装过程中可以选择将MySQL作为windows服务启动,没有设置的话可以手工设置作为windows服务。
以管理员身份运行命令行,进入MySQL安装目录,使用设置命令如下:
mysqld --install MySQL --defaults-file="xxx \my.ini"
其中defaults-file为安装目录下的my.ini文件。
2.3 远程连接
(1). 使用命名行登录mysql数据库
mysql -u root –p
(2). 使用mysql数据库,修改访问host,例如’%’
use mysql;
update user set host = '%' where user = 'root';
3. PHP
3.1 安装
下载地址:http://windows.php.net/download#php-5.6
下载VC11-x64-Thread-Safe版本,将下载的zip文件解压到c:/php/php目录中,将php.ini-development重命名为php.ini
3.2 配置扩展模块
打开php.ini文件,做如下设置:
(1). 设置扩展模块路径
extension_dir = "C:/php/php/ext"
(2). 启用mysql,curl等模块,移除前面的;号
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_xmlrpc.dll
3.3 配置Session
在使用session功能时,必须配置session文件在服务器上的保存目录,否则无法使用session,新建一个可读写的目录文件夹,
php.ini配置文件中找到 ;session.save_path = "/tmp" 改成 session.save_path = "xxx"
3.4 配置文件上传
在使用PHP文件上传功能时,我们必须要指定一个临时文件夹以完成文件上传功能,否则文件上传功能会失败,在Windows 7上建立一个可读写的目录文件夹,
php.ini配置文件中找到 ;upload_tmp_dir = 改成 upload_tmp_dir = "xxx"
3.5 修改date.timezone
php.ini配置文件中找到;date.timezone = 改成 date.timezone = Asia/Shanghai
4. Apache
4.1 安装
下载地址:http://www.apachelounge.com/download/
下载httpd-2.4.23-win64-VC14.zip版本和运行环境vc_redist.x64.exe,首先安装运行环境vc_redist.x64.exe,然后将httpd-2.4.23-win64-VC14.zip文件解压到c:/php/apache目录中。
4.2 配置服务路径
进入apache目录下的conf目录,以记事本的方式打开httpd.conf,找到
ServerRoot "xxx" 这一行,修改为实际的安装路径,例如
ServerRoot "c:/php/Apache24"
4.3 配置监听端口
在httpd.conf文件中找到Listen 80这一行,修改为实际监听的IP和端口,例如 Listen 127.0.0.1:8080
4.4 配置web根目录
在httpd.conf文件中找到DocumentRoot "XXX" 这一行,将DocumentRoot "XXX"和<Directory "XXX">中的路径修改为实际使用的web站点目录。在Directory配置中可以设置对应的目录访问权限等。
4.5 配置PHP
(1). 加载PHP模块
在httpd.conf文件中#LoadModule vhost_alias_module modules/mod_vhost_alias.so下添加
LoadModule php5_module "c:/php/php/php5apache2_4.dll"
PHPIniDir "c:/php/php"
其中 c:/php/php 为php安装目录
(2). 设置index文件先后顺序
配置了PHP功能,使index.php优先执行,在httpd.conf文件中找到dir_module,在内部将
DirectoryIndex index.html改为
DirectoryIndex index.php index.html
(3). 支持php mime类型
在httpd.conf文件中找到mime_module,在内部添加
AddType application/x-httpd-php .php .html .htm
4.6 配置服务
Apache可以作为windows服务使用,使用管理员身份打开命令窗口,进入apache安装目录下的bin目录,执行以下命令
httpd -k install
即可以将apache作为windows服务安装。在apache安装目录下的bin目录中使用ApacheMonitor.exe就可以启动,关闭服务等操作。
4.7 多个端口
(1). 添加多个端口监听,在httpd.conf中添加多个listen,例如
Listen 127.0.0.1:8080
Listen 127.0.0.1:8081
(2). 针对每个端口配置VirtualHost,在httpd.conf中最后添加VirtualHost配置,例如
<VirtualHost *:8080>
DocumentRoot "d:/workspace/php1"
<Directory "d:/workspace/php1">
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:8081>
DocumentRoot "d:/workspace/php2"
<Directory "d:/workspace/php2">
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>
</VirtualHost>
配置完成后就可以访问对应的端口
PHP Windows环境部署的更多相关文章
- Windows环境部署并调试pyspark(一)
准备: windows环境说明:Python2.7 + pipspark版本:spark-1.6.1-bin-hadoop2.6 step1: 下载并解压tar包到自定义的路径.(下载链接 https ...
- ctrip-apollo windows环境部署
https://blog.csdn.net/u010286334/article/details/78389484转载过来的方法,尝试了没有成功,不晓得哪里错了,无法打包portal访问 1.下载源码 ...
- Windows环境部署Redis集群
一.准备文件 1. 下载Redis for windows 的最新版本 下载地址:https://github.com/MSOpenTech/redis/releases 安装到 c:\Redis ...
- workermanPHP聊天框架项目windows环境部署实践
一.官方下载地址: https://www.workerman.net/workerman-chat 二.下载后解压至任意目录,如下图: 三.windows需配置PHP环境变量,如下图: 四.双击st ...
- 在 Windows 下部署 Go 语言环境
http://bbs.chinaunix.net/thread-4088281-1-1.html 1. 首先下载官方二进制安装包:32 位选择 windows-386.msi64 位选择 window ...
- windows环境redis主从安装部署
准备工作 下载windows环境redis,我下载的是2.4.5,解压,拷贝一主(master)两从(slaveof).主机端口使用6379,两从的端口分别为6380和6381, 我本地索性用6379 ...
- Windows环境安装Linux系统及JDK部署
前言 由于我的笔记本有点问题,所以这周系统包括所有硬盘全部重装了,原来的Linux虚拟机都没了,因此才有了这篇文章和各位朋友们分享. 由于Linux环境的优越性(开源.低成本.安全性好.网络功能强大) ...
- Jenkins实现生产环境部署文件的回滚操作(Windows)
由于dotnet项目的生产环境环境部署工具比较少,所以我使用jenkins作为生产环境的自动化部署工具. 既然有回滚操作,那么就会有部署操作:要实现回滚,先要实现部署的操作,我在jenkins搭建了一 ...
- 使用Vagrant在Windows下部署开发环境
做Web开发少不了要在本地搭建好开发环境,虽然说目前各种脚本都有对应的Windows版,甚至是一键安装包,但很多时候和Windows环境的相性并不是那么好,各麻烦的问题是实际部署的环境通常是Linux ...
随机推荐
- javascript 中 Promise的使用
有点经验的js前端都知道 ajax异步函数里面的结果不会立即返回,如果你想在一个异步函数得到某个结果后去执行一个语句怎么做? if ( 异步函数 ) { 语句 } 可能很多人都踩过这样坑,这个时候 ...
- jsp重定向和转发
表单提交到servlet后,servlet进行转发之后浏览器上的url为什么还是servlet的url-pattern,但是页面内容却是跳转之后页面的内容. 研究了半天之后发现这个和转发和重定向有关系 ...
- android GPS定位源码 地图显示位置源码 有用到的小伙伴自提取
package com.jasgroup.cn.amhdeam; import java.io.IOException; import java.util.Iterator; import andro ...
- Django中 如何修改models字段的默认值
场景描述: 在建表的时候,新闻表的内容简介字段,给的默认值是可以为空的,但是没有设置默认值为blank,那么,这种情况下,对于只有标题,没有内容简介的新闻来讲,发布之后,前端显示的内容简介位置是non ...
- Bzoj3894 文理分科
Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 667 Solved: 389 Description 文理分科是一件很纠结的事情!(虽然看到这个题 ...
- 浅谈:javascript的面向对象编程之基础知识的介绍
在进入javascript的面对对象之前,我们先来介绍一下javascript的几个概念. 1.javascript的面向对象的基本概念 function aa(){ } /* * 这里的aa,在我们 ...
- ng-class结合三目运算
ng-class文档:https://docs.angularjs.org/api/ng/directive/ngClass 但是在实际项目中可能会用到三目运算,实例如下: <ul> &l ...
- HTML基础标签入门
HTML基础标签 昨天学习了一些HTML的基本标签以及基本属性: HTML是一种超文本标记语言,其中PHP是世界上最好的语言(增加学习的动力荣誉感). HTML文档里包含三部分: <html&g ...
- Bubble Cup 8 finals I. Robots protection (575I)
题意: 有一个正方形区域, 要求支持两个操作: 1.放置三角形,给定放置方向(有4个方向,直角边与坐标轴平行),直角顶点坐标,边长 2.查询一个点被覆盖了多少次 1<=正方形区域边长n<= ...
- 分享10款非常有用的 Ajax 插件
这篇文章与大家分享的是10款非常有用的 Ajax 插件,有用于图片的,用于分页的,还有用于导航的.这些作者的想法特别新颖,希望你能从中找到自己需要的插件. 1. AJAX-ZOOM 非常强大的一款插件 ...