需要原料:
vs2012、php源码
注:若是x64编译php7以上,请参考https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2

1、本机的mingw没搞定,参考网上文章尝试vs2012编译,借助vs2012自带的命令行工具:

需要去bison官网下载bison.exe放在“c:/windows/”下,flex.exe也同样需要。

2、开始菜单->Microsoft Visual Studio 2008->Visual Studio Tools->Visual Studio 2008 Command Prompt,打开Visual Studio 2008命令提示行,cd切换到php-src下,输入buildconf.bat(源码自带),回车。

3、输入cscript /nologo configure.js  --disable-all --enable-cli 创建最小化的编译makefile

4、这时候提示输入nmake命令。输入,回车,等待编译。

5、测试是否成功

php -r "echo ‘hello,php';"

6. nmake时会出现错误,若是"nmake fatal error u1077"则可能是vs未加入系统环境变量,将“vs/vc/bin”以及“vs/common7/ide”加入系统环境变量;若是“nmake fatal error cl.exe 0x2”则可能是改动了源码,且发生了错误。

参考:

1、http://blog.linuxphp.org/archives/1592/

2、http://demon.tw/software/compile-php-on-windows.html

3、https://wiki.php.net/internals/windows/stepbystepbuild

4、https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2

vc11(vs2012)下编译php源码的更多相关文章

  1. Windows下编译live555源码

    Windos下编译live555源码 环境 Win7 64位 + VS2012 步骤 1)源码下载并解压 在官网上下载最新live555源码,并对其进行解压. 2)VS下建立工程项目 新建Win32项 ...

  2. Windows 10 x64 下编译 Hadoop 源码

    Windows 10 x64 下编译 Hadoop 源码 环境准备 Hadoop并没有提供官方的 Windows 10 下的安装包,所以需要自己手动来编译,官方文档中 BUILDING.txt 文件中 ...

  3. ubuntu下编译VLC源码

    http://blog.csdn.net/beitiandijun/article/details/9225591ubuntu下编译VLC源码 分类: 视频处理 2013-07-02 17:33 57 ...

  4. Windows,linux下编译qt源码(比较简单)

    一.linux下静态编译qt源码 1.取到qt源码并解压到文件夹 2.cd到qt目录下 3.使用configure生成makefile ./configure–prefix /opt/qtstatic ...

  5. 【转】在Ubuntu下编译Android源码并运行Emulator

    原文网址:http://www.mcuos.com/thread-4553-1-1.html 建立编译环境 1.在VirtualBox上安装Ubuntu 2.安装JDK   $ sudo apt-ge ...

  6. mac下编译node源码

    看过一篇win7 64x下面编译node的文章,链接地址:编译nodejs及其源码研究 下面学习一下在mac下面如何编译node源码. 过程也挺简单. 1.下载源码. > mkdir nodes ...

  7. ubuntu18.04.2下编译openjdk9源码

    最近在看<深入理解Java虚拟机 第二版>这本书,上面有关于自己编译OpenJDK源码的内容.自己根据书里的指示去操作,花了三天的时间,重装了好几次Ubuntu(还不知道快照这个功能,好傻 ...

  8. vc11(vs2012)下编译php

    需要原料: vs2012.php源码 1.本机的mingw没搞定,参考网上文章尝试vs2012编译,借助vs2012自带的命令行工具: 需要去bison官网下载bison.exe放在“c:/windo ...

  9. windows下编译lua源码

    所有的lua源码都放在了 src 文件夹下,当然,不同的lua版本目录结构有可能不一样,但是都会有 src 这个文件夹,只有这个才是我们编译必须的.而且lua越做越精简了,5.1的版本里面还有一些te ...

随机推荐

  1. Form 表单验证

    #!/usr/bin/env python # -*- coding:utf- -*- import tornado.ioloop import tornado.web import re class ...

  2. 【转】【Python】Python发送邮件(常见四种邮件内容)

    在写脚本时,放到后台运行,想知道执行情况,会通过邮件.SMS(短信).飞信.微信等方式通知管理员,用的最多的是邮件.在linux下,Shell脚本发送邮件告警是件很简单的事,有现成的邮件服务软件或者调 ...

  3. JDBC创建表实例

    在本教程将演示如何在JDBC应用程序中创建一个数据库表. 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模式中创建数据库表. 要执行以下示例,需要用实际用户名和密码替 ...

  4. e832. 从JTabbedPane中移动卡片

    To move a tab, it must first be removed and then reinserted into the tabbed pane as a new tab. Unfor ...

  5. e797. 显示JSlider的标记

    The slider supports two levels of tick marks, major and minor. Typically, the minor tick-mark spacin ...

  6. e780. 设置JList中的已选项

    List selection events are fired when the following methods are used to change the set of selected it ...

  7. 嵌入式开发之hi3519--- pcie dma和dma cache 缓存更新sync memery

    http://blog.csdn.net/likeping/article/details/42235111 linux下dma 管理 http://blog.csdn.net/skyflying20 ...

  8. XAudio2学习之调节音调

    频率比有两个地方能够设置.一个是在创建IXAudio2SourceVoice对象的时候.一个是调用IXAudio2SourceVoice::SetFrequencyRatio来调节. 在创建IXAud ...

  9. 【FastJSON】使用JSON.toJSONString()-解决FastJson中“$ref 循环引用”的问题

    fastjson 是一个 不错的json格式化工具, 但是在使用时,如果 碰到统一地址对象引用,就会用$ref替代 . 怎么去掉ref呢, 解决方法如下: String mapStr = JSONOb ...

  10. rsync工具介绍 rsync常用选项 rsync通过ssh同步

    linux文件同步工具-rsync [root@centos7 tmp]# yum install -y rsync rsync可以增量的同步,只同步变更的文件 把/etc/passwd 同步到/tm ...