====== Build your own PHP on Windows ======
**This tutorial concerns the new PHP SDK and PHP 7.2 and later, while the described PHP SDK is compatible with at least PHP 7.0. To build PHP prior to
====== Build your own PHP on Windows ======
> **This tutorial concerns building PHP before 7.2. To build PHP 7.2+, please refer to the [[internals:windows:stepbystepbuild_sdk_2|newer doc... tion]].**
===== Before you Begin =====
Building PHP on Windows will require three things
- A proper
ries are available for download at http://windows.php.net/downloads/php-sdk/ . The sources prepared to be built for PHP are available under https://github.com/winlibs/
=====... [[internals:windows:libs:bindlib]] | [[http://svn.php.net/viewvc/php/bindlib_w32/|]] | No | Needed only
====== HowTo: Building optimized PHP for Windows ======
Building the PGO-optimized version of PHP is a simple and straightforward process, however ... Optimization to build a more optimized version of PHP—however you can use this build process to generat... 8 Standard and Express]] that allow you build the PHP stack with consistent settings across all project
====== Build your own PHP on Windows ======
**This tutorial concerns building PHP with the new php-windows-builder tooling, it also uses the PHP SDK 2.0 under the hood, so can be used to build PHP 7.0
/ws/src
* mkdir ~/ws/root
# checkout required php versions
* cd ~/ws/src
* svn co https://svn.php.net/repository/php/php-src/branches/PHP_5_4 php-5.4-ts
* cp php-5.4-ts php-5.4-nts # yes, use the same source twice to
2 ======
* Author: Kalle Sommer Nielsen <kalle@php.net>
* Status: Draft
* Target: PHP 8
This document tries to define a new build system for PHP on Windows.
===== Introduction =====
The Windows build system for PHP have undergone quite some changes during PHP's li
ws build box (also responsible for http://windows.php.net/snapshots/ builds) is located at our UK based... Details about the SDK can be found [[http://wiki.php.net/internals/windows/windowssdk|here]]
Libraries for the box are in c:\php-sdk\mytree\vcvers\architecture\deps
The libraries used by each PHP version are listed in [[http://wiki.php.net/inter
current TODOs are available under [[https://wiki.php.net/internals/windows/todo]]
===== Library Stu... mentations =====
Core/Standard:
- [[http://docs.php.net/proc_nice| proc_nice]] -- See: http://news.php.net/php.internals.win/633
- [[http://docs.php.net/lchown| lchown]]
- [[http://docs.php.net/lchgrp|
* .NET Framework 1.1 SP1 Runtime installed
* PHP Windows zip binary distribution
* The pre-compi... PECL extensions for Windows from http://pecl4win.php.net/branch.php
* Copy of PHP Manual in CHM format.
* Local Checked out copy of this directory
===== Build Steps
====
All prebuilt libraries are available in the php-libs [[http://windows.php.net/downloads/php-sdk/|repositories]]
For PHP suitable sources and up-to-date information see [[https://github.com/winl
ndows Binaries ======
====== 5.3.0-alpha ======
PHP 5.3.0-alpha1 introduces some changes for windows ... ter, more secure binary but do not affect the way PHP works.
==== OS Support ====
The PHP 5.3.0 branch will only support Windows 2000, XP, Server 2003, Vi... ew Builds ====
The VC6 compiler used for building PHP was originally released in 1998 - that makes it 1
the old TODO page can be found under https://wiki.php.net/internals/windows/todo_bak_0
===== Code ===... del>support multibyte filenames</del>((http://git.php.net/?p=php-src.git;a=commit;h=3d3f11ede4cc7c83d64cc5edaae7c29ce9c6986f))
- <del>supports filenames longer than 256 bytes</del>((http://git.php.net/?p=php-src.git;a=commit;h=3d3f11ede4cc7c83d64
ile ======
===== Building LibPq 8.3.x =====
For PHP suitable sources and up-to-date information see [... quirements =====
* Common tools used to compile PHP
* Native Perl from ActiveState ([[http://www.ac... ndencies ====
* OpenSSL build ([[http://windows.php.net/downloads/php-sdk/deps/]])
* ZLib build ([[http://windows.php.net/downloads/php-sdk/deps/]])
==
===== OpenSSL Windows, How to compile ======
For PHP suitable sources and up-to-date information see [... ing in your PATH
* Common tools used to compile PHP
==== Configure =====
Configure for Win32
<code bash>
cd C:\phpbuild\libs\openssl-0.9.8k
perl Configure --openssldir=C:/phpbuild/apps_install/ VC-WIN32
</code>
Configure f