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.dllssleay32.dlllibssh2.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环境的更多相关文章

  1. windows下配置nginx+php环境

    刚看到nginx这个词,我很好奇它的读法(engine x),我的直译是"引擎x",一般引"擎代"表了性能,而"x"大多出现是表示" ...

  2. Windows下配置Apache服务器并支持php

    php环境的配置相对来说比较繁琐,网上教程大部分都是放一起说,总体感觉比较乱,其实Apache是一款通用的服务器软件,可以用来配置支持静态页面,php.Python.Java甚至asp等服务端语言,要 ...

  3. (转)windows下配置nginx+php环境

    原文地址 http://www.cnblogs.com/huayangmeng/archive/2011/06/15/2081337.html 刚看到nginx这个词,我很好奇它的读法(engine ...

  4. windows下php+apache+mysql环境搭建

    在Windows 7下进行PHP环境搭建,首先需要下载PHP代码包和Apache与Mysql的安装软件包. PHP版本:php-5.3.2-Win32-VC6-x86,VC9是专门为IIS定制的,VC ...

  5. windows下配置nginx+php环境(转)

    刚看到nginx这个词,我很好奇它的读法(engine x),我的直译是“引擎x”,一般引“擎代”表了性能,而“x”大多出现是表示“xtras(额外的效果)”,那么整个词的意思就是类似“极致效果”,“ ...

  6. Windows下配置Java开发环境

    学习Java第一步是配置本地开发环境,学习最基本的桌面开发,下面以win7为例配置Java开发环境,即:JDK+JRE+Eclipse,安装JDK的时候会默认安装JRE,根据提示安装就可以了. 首先去 ...

  7. 在windows下配置Eclipse + go环境

    http://blog.csdn.net/hengyunabc/article/details/7371446 本文章地址:http://blog.csdn.net/hengyunabc/articl ...

  8. windows下配置php + mysql环境

    一.php服务器环境:apache + php安装与配置 1.下载apache.(httpd.apache.com) apache官网只提供源码,编译文件会有跳转到别的网站的下载地址. 如需VC9或V ...

  9. Windows下配置Apache+PHP跑Wordpress拾遗

    首先,我很少这么做,因为一旦有跑WAMP的需求,我就直接下一个wamp的安装包就可以了,市面上数不胜数,我一直用的是EasyPHP,不是说它有多好,而是很多年前第一次用后没什么问题,就一直用下来了.这 ...

随机推荐

  1. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

  2. Fis3的前端工程化之路[三大特性篇之资源定位]

    Fis3版本:v3.4.22 Fis3的三大特性 资源定位:获取任何开发中所使用资源的线上路径 内容嵌入:把一个文件的内容(文本)或者base64编码(图片)嵌入到另一个文件中 依赖声明:在一个文本文 ...

  3. 细说前端自动化打包工具--webpack

    背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.用过Dreamweaver的都知道,做网页就像用word编辑文档 ...

  4. 用CIL写程序:你好,沃尔德

    前言: 项目紧赶慢赶总算在年前有了一些成绩,所以沉寂了几周之后,小匹夫也终于有时间写点东西了.以前匹夫写过一篇文章,对CIL做了一个简单地介绍,不过不知道各位看官看的是否过瘾,至少小匹夫觉得很不过瘾. ...

  5. [WCF]缺少一行代码引发的血案

    这是今天作项目支持的发现的一个关于WCF的问题,虽然最终我只是添加了一行代码就解决了这个问题,但是整个纠错过程是痛苦的,甚至最终发现这个问题都具有偶然性.具体来说,这是一个关于如何自动为服务接口(契约 ...

  6. JS实现页面进入、返回定位到具体位置

    最为一个刚入职不久的小白...慢慢磨练吧... JS实现页面返回定位到具体位置 其实浏览器也自带了返回的功能,也就是说,自带了返回定位的功能.正常的跳转,返回确实可以定位,但是有些特殊场景就不适用了. ...

  7. iOS在导航栏上居中显示分段控件(UISegmentedControl)

    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:nil]; segmentedCont ...

  8. 14门Linux课程,打通你Linux的任督二脉!

    Linux有很多优点:安全.自主.开源--,也正是这些优点使得很多人都在学Linux. 虽说网上有大把的Linux课程资源,但是对很多小白来说网上的课程资源比较零散并不适合新手学习. 正因为此,总结了 ...

  9. 跟着老男孩教育学Python开发【第三篇】:Python函数

    set 无序,不重复,可嵌套. 函数 创建函数: 1.def关键字,创建函数 2.函数名 3.() 4.函数体 5.返回值 发邮件函数 def sendmail():     import smtpl ...

  10. Linux下高cpu解决方案

    昨天搞定了一个十万火急的issue,客户抱怨产品升级后系统会变慢和CPU使用率相当高,客户脾气很大,声称不尽快解决这个问题就退货,弄得我们 R&D压力很大,解决这个issue的任务分给了我,客 ...