vc11(vs2012)下编译php源码
需要原料:
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源码的更多相关文章
- Windows下编译live555源码
Windos下编译live555源码 环境 Win7 64位 + VS2012 步骤 1)源码下载并解压 在官网上下载最新live555源码,并对其进行解压. 2)VS下建立工程项目 新建Win32项 ...
- Windows 10 x64 下编译 Hadoop 源码
Windows 10 x64 下编译 Hadoop 源码 环境准备 Hadoop并没有提供官方的 Windows 10 下的安装包,所以需要自己手动来编译,官方文档中 BUILDING.txt 文件中 ...
- ubuntu下编译VLC源码
http://blog.csdn.net/beitiandijun/article/details/9225591ubuntu下编译VLC源码 分类: 视频处理 2013-07-02 17:33 57 ...
- Windows,linux下编译qt源码(比较简单)
一.linux下静态编译qt源码 1.取到qt源码并解压到文件夹 2.cd到qt目录下 3.使用configure生成makefile ./configure–prefix /opt/qtstatic ...
- 【转】在Ubuntu下编译Android源码并运行Emulator
原文网址:http://www.mcuos.com/thread-4553-1-1.html 建立编译环境 1.在VirtualBox上安装Ubuntu 2.安装JDK $ sudo apt-ge ...
- mac下编译node源码
看过一篇win7 64x下面编译node的文章,链接地址:编译nodejs及其源码研究 下面学习一下在mac下面如何编译node源码. 过程也挺简单. 1.下载源码. > mkdir nodes ...
- ubuntu18.04.2下编译openjdk9源码
最近在看<深入理解Java虚拟机 第二版>这本书,上面有关于自己编译OpenJDK源码的内容.自己根据书里的指示去操作,花了三天的时间,重装了好几次Ubuntu(还不知道快照这个功能,好傻 ...
- vc11(vs2012)下编译php
需要原料: vs2012.php源码 1.本机的mingw没搞定,参考网上文章尝试vs2012编译,借助vs2012自带的命令行工具: 需要去bison官网下载bison.exe放在“c:/windo ...
- windows下编译lua源码
所有的lua源码都放在了 src 文件夹下,当然,不同的lua版本目录结构有可能不一样,但是都会有 src 这个文件夹,只有这个才是我们编译必须的.而且lua越做越精简了,5.1的版本里面还有一些te ...
随机推荐
- C++复合类型(数组)
1.数组 数组之所以被称为复合类型, 是因为它是使用其他类型来创建的 例如: short months[12]: 那么格式为 typename arrayname [arraysize] 注意:ar ...
- 对C语言中指针的入门理解
通过一个例子引出对指针的概念理解 1,例子 #include<stdio.h> int main(void) { ; //小张的身高 ; //小李的身高 ; //小王的身高 int *xi ...
- Maven是什么?
Maven是一个项目管理和综合工具.Maven提供了开发人员构建一个完整的生命周期框架.开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期. 在多个开发团队环境时, ...
- CI框架 -- 核心文件 之 Lang.php(加载语言包)
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class CI_Lang { var $l ...
- Objective-C MacOS以管理员权限执行程序
在MacOS下非常多操作是须要管理员权限的, 比方我们执行chmod.在命令行下能够使用sudo chmod来申请以管理员权限执行.可是使用XCode写的程序是不能使用sudo的. 须要自己写代码来申 ...
- #HTTP协议学习# (四)疑问篇
1.为什么使用fiddler看不到旺旺客户端登录时发送的请求? 客户端是使用什么样的方式进行认证? 一般都是用HTTPS来加密Http request. 这样代理服务器就看不到里面的数据了.(why ...
- winfrom 使用NPOI导入导出Excel(xls/xlsx)数据到DataTable中
1.通过NUGET管理器下载nopi,在引入命令空间 using System; using System.Collections.Generic; using System.Text; using ...
- 安装Java Decompiler
原文:https://blog.csdn.net/yh_zeng2/article/details/75948467 Java Decompiler是Java语言的反编译工具,具体介绍见博客Java ...
- springboot使用@ControllerAdvice(二)之深入理解
前言: 接口类项目开发时,为了便于后期查找问题,一般会拦截器或过滤器中记录每个接口请求的参数与响应值记录, 请求参数很容易从request中获取,但controller的返回值无法从response中 ...
- RMAN:简单的duplicate创建新数据库 for 12c+
构建参数文件 *.db_name='test2' ##### 需要注意的地方,和rman的duplicate目标库一致 *.compatible='18.0.0' ##### 关键的地方,每个版本的模 ...