Keep Server Online
  
If you find the Apache Lounge, the downloads and overall help useful, please express your satisfaction with a donation.
  
or
  
 
  
A donation makes a contribution towards the costs, the time and effort that's going in this site and building.
  
Thank You! Steffen
  
Your donations will help to keep this site alive and well, and continuing building binaries. Apache Lounge is not sponsored.
 |    |   
 | 
     Topic: [Windows] Building PHP under windows | 
 |   
| Author | 
  | 
 
frozen
 
 
  Joined: 14 Sep 2006 Posts: 4 Location: Canada
  | 
 Posted: Thu 14 Sep '06 23:54    Post subject: [Windows] Building PHP under windows | 
     | 
 
  | 
 
| In theory, if Apache runs better compiled with Visual C 8 then wouldn't PHP also? I am not even sure what the PHP binaries on php.net are compiled with but I would like to compile PHP 5.1.6 with Visual C 8. Where do I start?! | 
 
  | 
 
| Back to top | 
 | 
 
tdonovan Moderator
 
  Joined: 17 Dec 2005 Posts: 616 Location: Milford, MA, USA
  | 
 Posted: Fri 15 Sep '06 7:26    Post subject:  | 
     | 
 
  | 
 
Well, I haven't given it much of a test - but these steps were enough to get PHP 5.1.6 built. 
 
 
It starts up OK in Apache 2.2.3 and I've run a few simple PHP pages without problems.  
 
 
I hope this helps you get started.
 
-tom-
 
 
You need:
 
    Visual C++ 2005 Express Edition         http://msdn.microsoft.com/vstudio/express/visualc/download/
 
    Windows Server 2003 R2 Platform SDK     http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB
 
    .NET Framework SDK Version 1.1          http://www.microsoft.com/downloads/details.aspx?FamilyId=9B3A2CA6-3647-4070-9F41-A333C6B9181D
 
Windows Script Host                     http://www.microsoft.com/downloads/details.aspx?FamilyID=C717D943-7E4B-4622-86EB-95A22B832CAA
 
 
Download php-5.1.6.tar.gz   from:  http://us3.php.net/get/php-5.1.6.tar.gz/from/a/mirror
 
Untar this into your working directory
 
 
Download http://www.php.net/extra/bindlib_w32.zip
 
    Extract this into (create new directory) bindlib_w32 in your working directory
 
 
Download http://www.php.net/extra/win32build.zip
 
Unzip into your working directory
 
 
You should have three new directories named: php-5.1.6, bindlib_w32, and win32build 
 
 
Check that you have (at least) these directories in your PATH, INCLUDE, and LIB environment variables:
 
PATH
 
    C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\bin
 
    C:\Program Files\Microsoft Visual Studio 8\Common7\IDE
 
    C:\Program Files\Microsoft Visual Studio 8\VC\BIN
 
    C:\Program Files\Microsoft Visual Studio 8\Common7\Tools
 
    C:\Program Files\Microsoft Visual Studio 8\VC\VCPackages
 
INCLUDE
 
    C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include
 
    C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include\mfc
 
    C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE
 
    C:\Program Files\Microsoft.NET\SDK\v1.1\include
 
LIB
 
    C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib
 
    C:\Program Files\Microsoft Visual Studio 8\VC\LIB
 
    C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\lib
 
    C:\Program Files\Microsoft.NET\SDK\v1.1\Lib
 
 
Make sure there is a copy of zip.exe in your PATH
 
(You can get it at http://www.info-zip.org/ if you don't have it)
 
 
In Visual Studio 2005 Express - open bindlib_w32\bindlib.dsw
 
Choose "Yes to all" to convert the project to VS8 format
 
Select "Build" - "Configuration Manager..." - choose "Release"
 
Select "Build" - "Build Solution"
 
The last line in the Output window should say "========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped =========="
 
 
Copy   bindlib_w32\Release\resolv.lib  to   win32build\lib\ (replacing the previous resolv.lib)
 
 
Copy your installed Apache 2.2.3  \include and \lib directories to win32build\Apache2\include and win32build\Apache2\lib
 
Rename win32build\Apache2\lib\libapr-1.lib to libapr.lib
 
Rename win32build\Apache2\lib\libaprutil-1.lib to libaprutil.lib
 
 
In the php-5.1.6 directory 	  | Quote: | 	 		  buildconf.bat
 
 
cscript /nologo configure.js  --help
 
 
cscript /nologo configure.js  --enable-apache2handler --without-libxml --without-iconv --without-gd | 	  
 
    It seems to be OK if you are missing the programs "lemon" and "re2c"
 
    There should not be any other instances of "<not found>" in the output.
 
    If there are, you will either need to go find the missing files or disable that extension.
 
    I chose to disable libxml, iconv, and gd because I didn't have libjpeg.lib, libxml2.lib, and iconv.h.
 
    I didn't bother to go find them.
 
 | 
 
  | 
 
| Back to top | 
 | 
 
 
 
 
 | 
 
 
 |  
 
 |  
  |   
 |