windows下配置apache+php环境
2019-11-29 更新: 建议windows下安装docker:
基于boot2docker部署Docker环境: https://www.cnblogs.com/52fhy/p/8413029.html
使用Docker快速搭建PHP开发环境: https://www.cnblogs.com/52fhy/p/8468791.html
或者使用Linux系统按照 https://www.cnblogs.com/52fhy/p/5797981.html 安装lnmp教程。不建议使用windows直接配置环境。
PHP安装
由于windows下php扩展5.6的多余7.0,故以php5.6为开发环境。如果对扩展要求不高,可以使用php7,安装过程类似。
约定:
环境安装目录:
D:/phpsetup/
|——php
|——php-5.6.22-Win32-VC11-x86
|——apache
|——mysql
|——www
下载
下载地址:
http://php.net/
windows版下载地址:
http://windows.php.net/download
官网里Windows的版本有很多。选择哪个版本呢?
如果你的PHP应用程序以FastCGI方式运行,请选择Non-Thread Safe (NTS) 版本;
如果你的PHP应用程序和Apache一起,请选择 Thread Safe (TS) 版本。
本文用的apache+php组合,所以选择ts(Thread Safe)版本。根据操作系统选择x64或者x86。
大多数版本的PHP使用VC9, VC11 or VC14 (Visual Studio 2008, 2012 or 2015分别编译)进行编译的,所以你电脑上需要安装VC运行环境。
电脑需要VC运行环境:
VC9 x86 :http://www.microsoft.com/en-us/download/details.aspx?id=5582
VC9 x64 :http://www.microsoft.com/en-us/download/details.aspx?id=15336
VC11 x86 or x64:http://www.microsoft.com/en-us/download/details.aspx?id=30679
VC14 x86 or x64 :http://www.microsoft.com/en-us/download/details.aspx?id=48145
配置PHP
本文以php-5.6.22-Win32-VC11-x86.zip为例。
下载后解压到D:\phpsetup\php\php-5.6.22-Win32-VC11-x86
目录。
复制一份php.ini-development
文件为php.ini
。
需要修改以下地方:
- 更改自定义扩展目录。
找到
;extension_dir = "ext"
更改为
extension_dir = "D:\phpsetup\php\php-5.6.22-Win32-VC11-x86\ext"
提示:与apache搭配使用需要写绝对位置。否则扩展加载不了。
- 开启扩展
往下看,再找到:
;extension=php_curl.dll
去掉部分注释:
extension=php_bz2.dll
extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll ; Must be after mbstring as it depends on it
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll
;extension=php_shmop.dll
; The MIBS data available in the PHP distribution must be installed.
; See http://www.php.net/manual/en/snmp.installation.php
;extension=php_snmp.dll
extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite3.dll
;extension=php_sybase_ct.dll
extension=php_tidy.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll
- 设置默认时区
date.timezone=PRC
- 设置ssl(可选)
openssl.cafile= cacert.pem
注意是绝对路径。
- 添加自定义扩展
[memcache]
extension=php_memcache.dll
[redis]
extension=php_redis.dll
注意,需要下载对应版本的扩展:
如php_redis-2.2.7-5.6-ts-vc11-x86
区分ts,x86。
下载地址
http://pecl.php.net/package/redis/
http://pecl.php.net/package/memcache
http://pecl.php.net/package/SeasLog
http://pecl.php.net/package/xdebug
http://pecl.php.net/package/yar
apache的安装与配置
下载apache
PHP官网里说明了,apache.org只提供旧的VC6版本,且不能使用 VC9+版本。apache.org已经不提供适合php的版本了。apache windows版本下载地址也给了下载建议:
PHP官网也建议到Apache Lounge下载。Apache Lounge提供了建立在x86和x64系统的VC9,vc14 VC11版本。PHP官方使用了他们提供的二进制文件构建Apache SAPIs。
Apache Lounge提供的下载地址:
http://www.apachelounge.com/download/VC11/
http://www.apachelounge.com/download/VC11/binaries/httpd-2.4.20-win64-VC11.zip
http://www.apachelounge.com/download/VC11/binaries/httpd-2.4.20-win32-VC11.zip
这里选择了httpd-2.4.20-win32-VC11.zip。
安装配置
把下载好的httpd-2.4.20-win32-VC11.zip的包同样解压到D:/phpsetup/Apache24
目录下。
接下来,我们来配置apache,让它能够和php协同工作。
进入apache的conf目录,打开apache的配置文件httpd.conf。
修改apache软件所在目录:
ServerRoot "D:/phpsetup/Apache24"
修改主机名:
ServerName localhost:80
修改www目录:
DocumentRoot "D:/phpsetup/www"
<Directory "D:/phpsetup/www">
修改默认索引以支持PHP:
DirectoryIndex index.php index.html index.htm
开启rewrite功能:
LoadModule rewrite_module modules/mod_rewrite.so
自定义404页面(可选):
ErrorDocument 404 /missing.html
加载PHP模块,注意绝对路径:
#php5.6
LoadModule php5_module D:/phpsetup/php/php-5.6.22-Win32-VC11-x86/php5apache2_4.dll
<IfModule php5_module>
PHPIniDir "D:/phpsetup/php/php-5.6.22-Win32-VC11-x86/"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>
如果是php7,相应更改即可:
#php7
LoadModule php7_module D:/phpsetup/php/php-7.0.13-Win32-VC14-x64/php7apache2_4.dll
<IfModule php7_module>
PHPIniDir "D:/phpsetup/php/php-7.0.13-Win32-VC14-x64/"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>
注意:如果是PHP5.4版本,php目录里只有php5apache2_2.dll
,需要和Apache2.2搭配。
所以,安装php5.6一定要确认PHP安装包里是否有php5apache2_4.dll
文件。
可以开启虚拟主机配置文件:
Include conf/extra/httpd-vhosts.conf
默认httpd-vhosts.conf文件里面写的是供参考的,一但启用该文件,请正确配置,否则无法启用apache服务。
虚拟主机示例:
<VirtualHost *:80>
DocumentRoot "D:/www/app/laravel-5-blog/public/"
ServerName laravel-5-blog.fhy.com
DirectoryIndex index.php
<Directory "D:/www/app/laravel-5-blog/">
AllowOverride All
</Directory>
ErrorLog "logs/laravel-5-blog.fhy.com-error.log"
CustomLog "logs/laravel-5-blog.fhy.com-access.log" common
</VirtualHost>
其中DocumentRoot设置项目所在路径,ServerName设置主机名,DirectoryIndex设置入口文件;Directory里AllowOverride设置开启.htaccess功能。
可以开启主机别名配置文件:
Include conf/extra/httpd-alias.conf
如果安装的PHP x64位版本,Apache也需要是x64位版本的。然后还要将php目录下的libeay32.dll
、ssleay32.dll
、libssh2.dll
以及ext目录下的php_curl.dll
等四个文件,都复制放到System32目录下。否则curl扩展无法使用。(http://my.oschina.net/lsfop/blog/496181)
运行apache+php
运行方式一:
手动运行bin目录下的ApacheMonitor.exe
运行方式二:
将apache安装为系统服务,可以开机自动启动。
以管理员权限运行cmd。
进入apache24的bin目录,安装Apache 服务:
httpd -k install
停止Apache
httpd -k stop
重启Apache
httpd -k restart
卸载Apache服务
httpd -k uninstall
测试Apache配置文件httd.conf
httpd -t
查看Apache版本
httpd -V
Apache命令行帮助
httpd -h
删除服务:
sc delete Apache2.4
测试Apache和PHP
成功启动Apache后,在www目录编写phpinfo.php:
<?php
echo phpinfo();
浏览器地址栏输入localhost/phpinfo.php,显示PHP相关信息即表明成功了。
版本选择总结
Linux下安装推荐编译安装,不用考虑TS、NTS区别。版本建议64位(看机器是否支持)。
PHP7: http://php.net/get/php-7.0.13.tar.bz2/from/a/mirror
php5: http://php.net/get/php-5.6.28.tar.bz2/from/a/mirror
Nginx: http://nginx.org/download/nginx-1.10.2.tar.gz
Windows下安装时注意:
需要先安装VC11或VC14:
1)VC11: https://www.microsoft.com/en-us/download/details.aspx?id=30679
2)VC14: https://www.microsoft.com/en-us/download/details.aspx?id=48145
1、如果使用Apache,请使用TS版本PHP:
PHP7:
1)VC14_x86: http://windows.php.net/downloads/releases/php-7.0.13-Win32-VC14-x86.zip
2)VC14_x64:http://windows.php.net/downloads/releases/php-7.0.13-Win32-VC14-x86.zip
PHP5:
1)VC11_x86: http://windows.php.net/downloads/releases/php-5.6.28-Win32-VC11-x86.zip
1)VC11_x64: http://windows.php.net/downloads/releases/php-5.6.28-Win32-VC11-x64.zip
Apache:
1、VC14_x64: https://www.apachelounge.com/download/VC14/binaries/httpd-2.4.23-win64-VC14.zip
2、VC14_x86: https://www.apachelounge.com/download/VC14/binaries/httpd-2.4.23-win32-VC14.zip
3、VC11_x64:https://www.apachelounge.com/download/VC11/binaries/httpd-2.4.23-win64-VC11.zip
4、VC11_x86:https://www.apachelounge.com/download/VC11/binaries/httpd-2.4.23-win32-VC11.zip
搭配原则是:VC14+PHP7_TS+Apache_VC14 、VC11+PHP5_TS+Apache_VC11。
2、如果使用Nginx,请使用NTS版本PHP:
PHP7:
1)VC14_x86: http://windows.php.net/downloads/releases/php-7.0.13-nts-Win32-VC14-x86.zip
2)VC14_x64:http://windows.php.net/downloads/releases/php-7.0.13-nts-Win32-VC14-x64.zip
PHP5:
1)VC11_x86: http://windows.php.net/downloads/releases/php-5.6.28-nts-Win32-VC11-x86.zip
1)VC11_x64: http://windows.php.net/downloads/releases/php-5.6.28-nts-Win32-VC11-x64.zip
Nginx: http://nginx.org/download/nginx-1.10.2.zip
windows下配置apache+php环境的更多相关文章
- windows下配置nginx+php环境
刚看到nginx这个词,我很好奇它的读法(engine x),我的直译是"引擎x",一般引"擎代"表了性能,而"x"大多出现是表示" ...
- Windows下配置Apache服务器并支持php
php环境的配置相对来说比较繁琐,网上教程大部分都是放一起说,总体感觉比较乱,其实Apache是一款通用的服务器软件,可以用来配置支持静态页面,php.Python.Java甚至asp等服务端语言,要 ...
- (转)windows下配置nginx+php环境
原文地址 http://www.cnblogs.com/huayangmeng/archive/2011/06/15/2081337.html 刚看到nginx这个词,我很好奇它的读法(engine ...
- windows下php+apache+mysql环境搭建
在Windows 7下进行PHP环境搭建,首先需要下载PHP代码包和Apache与Mysql的安装软件包. PHP版本:php-5.3.2-Win32-VC6-x86,VC9是专门为IIS定制的,VC ...
- windows下配置nginx+php环境(转)
刚看到nginx这个词,我很好奇它的读法(engine x),我的直译是“引擎x”,一般引“擎代”表了性能,而“x”大多出现是表示“xtras(额外的效果)”,那么整个词的意思就是类似“极致效果”,“ ...
- Windows下配置Java开发环境
学习Java第一步是配置本地开发环境,学习最基本的桌面开发,下面以win7为例配置Java开发环境,即:JDK+JRE+Eclipse,安装JDK的时候会默认安装JRE,根据提示安装就可以了. 首先去 ...
- 在windows下配置Eclipse + go环境
http://blog.csdn.net/hengyunabc/article/details/7371446 本文章地址:http://blog.csdn.net/hengyunabc/articl ...
- windows下配置php + mysql环境
一.php服务器环境:apache + php安装与配置 1.下载apache.(httpd.apache.com) apache官网只提供源码,编译文件会有跳转到别的网站的下载地址. 如需VC9或V ...
- Windows下配置Apache+PHP跑Wordpress拾遗
首先,我很少这么做,因为一旦有跑WAMP的需求,我就直接下一个wamp的安装包就可以了,市面上数不胜数,我一直用的是EasyPHP,不是说它有多好,而是很多年前第一次用后没什么问题,就一直用下来了.这 ...
随机推荐
- 8.仿阿里云虚拟云服务器的FTP(包括FTP文件夹大小限制)
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html#iis 原文:http://dnt.dkill.net/Ar ...
- C# Excel导入、导出【源码下载】
本篇主要介绍C#的Excel导入.导出. 目录 1. 介绍:描述第三方类库NPOI以及Excel结构 2. Excel导入:介绍C#如何调用NPOI进行Excel导入,包含:流程图.NOPI以及C#代 ...
- JavaScript权威指南 - 数组
JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...
- 学习ASP.NET Core,怎能不了解请求处理管道[1]: 中间件究竟是个什么东西?
ASP.NET Core管道虽然在结构组成上显得非常简单,但是在具体实现上却涉及到太多的对象,所以我们在 "通过重建Hosting系统理解HTTP请求在ASP.NET Core管道中的处理流 ...
- JavaScript正则表达式,你真的知道?
一.前言 粗浅的编写正则表达式,是造成性能瓶颈的主要原因.如下: var reg1 = /(A+A+)+B/; var reg2 = /AA+B/; 上述两个正则表达式,匹配效果是一样的,但是,效率就 ...
- 谈谈一些有趣的CSS题目(四)-- 从倒影说起,谈谈 CSS 继承 inherit
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...
- Node.js:Buffer浅谈
Javascript在客户端对于unicode编码的数据操作支持非常友好,但是对二进制数据的处理就不尽人意.Node.js为了能够处理二进制数据或非unicode编码的数据,便设计了Buffer类,该 ...
- C#语法糖大汇总
首先需要声明的是"语法糖"这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕 ...
- JavaScript求两个数字之间所有数字的和
这是在fcc上的中级算法中的第一题,拉出来的原因并不是因为有什么好说的,而是我刚看时以为是求两个数字的和, 很显然错了.我感觉自己的文字理解能力被严重鄙视了- -.故拉出来折腾折腾. 要求: 给你一个 ...
- VS2015墙内创建ionic2
开始学习ionic2,试验各种方法,感觉以下是紧跟rc版本的最佳方案 STEP1 设置cnpm npm install -g cnpm --registry=https://registry.npm. ...