引言: PHP天生就是用来解决互联网时代的Web语言问题的专业工具,本文将记录在windows上搭建PHP的过程以及其中碰到的问题。

配置版本信息

OS: Windows 7

PHP: 7.1.7-nts-Win32-VC14-x64

前置条件

需要安装Windows Visual C++ VC14+以上的版本安装包。

下载地址: https://support.microsoft.com/en-hk/help/2977003/the-latest-supported-visual-c-downloads

正常情况下,下载2017年的版本

下载 apache

Apache就不用多少了,大名鼎鼎的Web服务器….

下载地址:http://httpd.apache.org/docs/current/platform/windows.html

选择下载windows下的版本即可。

比较有意思的是Apache本身不提供Windows下的安装包,只提供源代码,我晕,但是还好,提供了几个第三方提供的binary安装包:

我选择了Apache Haus 64位的, 版本为: 2.4.27

下载php7

目前最新的php版本是7.1.7, 它提供了non-thread-safe和thread-safe两个版本,这里提示大家下载thread-safe的版本:

下载地址: http://windows.php.net/download#php-7.1

安装目录的设置

将php7.1以及解压之后的apache 2.4放置到了特定目录:

配置Php

  • 进入php的解压目录,将php.ini-production文件复制一份,重新命名为php.ini

  • 将php当下的目录以及php\ext的目录放置到系统环境变量中的PATH中去。

    例如: 当前目录为D:\Program Files\phpdev

    则PATH中的目录为:D:\Program Files\phpdev\php-7.1.7-nts-Win32-VC14-x64

    D:\Program Files\phpdev\Apache24

    环境变量的设置路径: 右键我的电脑,点击属性–>高级系 统设置 –>环境变量–>系统变量,找到Path

配置Apache

打开apache安装目录下的conf,编辑httpd.conf, 将其中的SRVROOT修改为实际的安装目录,下面为从中截取的片段:

Define SRVROOT “D:\Program Files\phpdev\Apache24”

ServerRoot “${SRVROOT}”

这里着重讲SRVROOT替换为实际的Apache的安装目录。

其他的修改包括:

 <IfModule dir_module>
    DirectoryIndex index.html index.php index.htm
</IfModule>

新增index.php来支持php的版本

安装Apache服务

基于Administrator的身份运行windows下的cmd, 然后安装apache服务:

Apache_HOME\bin\httpd.exe -k install -n apache

正常情况下,系统会弹出一个提示对话框,提示是否允许Aapache访问外网,这个是Windows Firewall针对向外联网的请求进行了拦截,只要点击确定允许之后,即可。

启动Apache服务

进入Apache的安装目录,运行ApacheMonitor.exe

bin\ApacheMonitor.exe

点击启动Start,即可启动Apache Web服务器。

配置php.ini

基于文本编辑器,打开php.ini文件:

  1. extension_dir [Line 734 ~~L738]

    ; Directory in which the loadable extensions (modules) reside.

    ; http://php.net/extension-dir

    extension_dir = “D:/Program Files/phpdev/php-7.1.7-nts-Win32-VC14-x64”

    On windows:

    extension_dir = “D:/Program Files/phpdev/php-7.1.7-nts-Win32-VC14-x64/ext”

  2. 打开访问dll

    • 893行 ;extension=php_curl.dll 去掉前面的分号
    • 896行 ;extension=php_gd2.dll 去掉前面的分号
    • 903行 ;extension=php_mbstring.dll 去掉前面的分号
    • 905行 ;extension=php_mysqli.dll 去掉前面的分号
    • 909行 ; extension=php_pdo_mysql.dll 去掉前面的分号

    配置Apache的httpd.conf

    • 在之前添加如下信息:

    LoadModule php7_module “D:/Program Files/phpdev/php-7.1.7-nts-Win32-VC14-x64/php7apache2_4.dll”

    PHPIniDir “D:/Program Files/phpdev/php-7.1.7-nts-Win32-VC14-x64”

这里的PHP_HOME: D:/Program Files/phpdev/php-7.1.7-nts-Win32-VC14-x64

  • 在文件的最后新增如下信息:
<IfModule php7_module>
  AddType application/x-compress .Z
  AddType application/x-gzip .gz .tgz
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php .html
  AddType application/pdf .pdf
</IfModule>

apache的错误信息查看

apache启动错误查询。右键点击“计算机”》打开“管理”》“事件查看器”》“windows日志”》“应用程序”即可查询报错内容

配置PHP扩展库curl

将php解压文件中的libssh2.dll、php_curl.dll、ssleay32.dll、libeay32.dll放入Windows/System32文件夹(即使你是用64位系统)

然后,把libssh2.dll放入Apache2.4解压目录下的bin文件夹

最后,在php.ini中,把extension=php_curl.dll前面的分号去掉

重启Apache,OK!

其中php_curl.dll在php目录下的ext目录下。

测试php页面

创建一个php页面:

<?php
phpinfo();
?>

打开浏览器:

参考资料

Windows7下PHP 7.1搭建开发环境的更多相关文章

  1. maven实战(01)_搭建开发环境

    一 下载maven 在maven官网上可下载maven:http://maven.apache.org/download.cgi 下载好后,解压.我的解压到了:D:\maven\apache-mave ...

  2. Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境

    引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地AP ...

  3. Win10 IoT C#开发 1 - Raspberry安装IoT系统及搭建开发环境

    Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架构上运行. The ...

  4. window7下使用vagrant打造lamp开发环境(一)

    前言: 公司电脑只有win7 + (xampp || wamp)开发,处于个人爱好,想学习下在最舒服的开发环境下开发,也不想安装双系统,想用Vmware电脑却配置不高,vagrant+virtual ...

  5. Android开发系列之搭建开发环境

    接触Android好久了,记得09年刚在中国大陆有点苗头的时候,我就知道了google有个Android,它是智能机操作系统.后来在Android出1.5版本之后,我第一时间下载了eclipse开发工 ...

  6. Sublime Text3 + Golang搭建开发环境

    Sublime Text3 + Golang搭建开发环境 http://blog.csdn.net/aqiang912/article/details/46775409 1.安装git 因为golan ...

  7. 物理引擎Havok教程(一)搭建开发环境

    物理引擎Havok教程(一)搭建开发环境 网上关于Havok的教程实在不多,并且Havok学习起来还是有一定难度的,所以这里写了一个系列教程,希望可以帮到读者.这是第一期. 一.Havok物理引擎简单 ...

  8. hadoop搭建开发环境及编写Hello World

    hadoop搭建开发环境及编写Hello World   本文地址:http://www.cnblogs.com/archimedes/p/hadoop-helloworld.html,转载请注明源地 ...

  9. ios搭建开发环境

    ios搭建开发环境 好久就想试水IOS开发了,由于开发环境限制,一直局限于理论和虚拟机,近来入手了MacBook Pro,也来尝尝鲜,笔者也是现学现总结,如果有不足,请指正. IOS开发必备MAC O ...

随机推荐

  1. 20145335郝昊《java程序设计》第5周学习总结

    20145335郝昊<Java程序设计>第5周学习总结 教材学习内容总结 第八章 语法与继承架构 使用try.catch 特点: - 使用try.catch语法,JVM会尝试执行try区块 ...

  2. [翻译]CSS模块-未来的编码方式

    前言 这是Glen Maddern发布于2015年8月19日的一篇文章,主要是之前翻译的文章<理解CSS模块方法>里提到这篇文章,现在算是顺藤摸瓜跟进来看看. 这里的翻译都是根据我自己的理 ...

  3. 项目总结--基于Cortex-A9平台的米兰花智能培育系统

    基于Cortex-A9平台的米兰花智能培育系统 1. 系统功能概述 本系统主要实现了模拟米兰花智能培育的过程.通过前端传感器采集相关环境因子数据经ZigBee组网发送到协调器汇总,网关通过串口读取协调 ...

  4. Eclipse安装zylin[转]

    本文转载自:https://blog.csdn.net/dns888222/article/details/9263485 Eclipse安装zylin 在网上搜的是安装页为http://www.zy ...

  5. SSM到Spring Boot-从零开发校园商铺平台

    第1章 开发准备 本章包含课程介绍,同时讲解开发网站所需要准备的事情,并且带领大家从零开始搭建一个Maven Web. 1-1 课程导学 1-2 开发准备 第2章 项目设计和框架搭建 本章主要先带领大 ...

  6. 【Semantic Segmentation】Segmentation综述

    部分转自:https://zhuanlan.zhihu.com/p/37618829 一.语义分割基本介绍 1.1 概念 语义分割(semantic segmentation) : 就是按照" ...

  7. base64 原理

    Base64编码之所以称为Base64,是因为其使用64个字符来对任意数据进行编码,同理有Base32.Base16编码.标准Base64编码使用的64个字符为: 这64个字符是各种字符编码(比如AS ...

  8. Tomcat 环境搭建

    最近在工作之余,看到了一些 Tomcat 的基础资料,感觉蛮好.同时也回忆起自己刚毕业要参加工作那会对 Tomcat 也是各种资料各种查,实属不易.为此,针对最近整理的一些基础,把 Tomcat 基本 ...

  9. mongodb禁止外网访问以及添加账号

    未曾料到被黑客勒索比特币的戏码竟然降临到我的身上,几个月的技术积累付之一炬.怪只怪自己学艺不精,心存侥幸和无知,不过经此一役,方知网络安全防护的重要性. 一直未给自己的mongodb数据库设置账号密码 ...

  10. javascript 关键词 new都做了写什么

    翻译自stackoverflow:http://stackoverflow.com/questions/1646698/what-is-the-new-keyword-in-javascript ne ...