- Compile xerces-c++ 3.x from source, or install binaries + headers for your platform:
- Ubuntu / Debian:
apt-get install libxerces-c-dev
- RedHat / CentOS / Fedora:
yum install xerces-c-devel
- Mac OS X (Homebrew)
brew install xerces-c
-
Clone the xydiff repository:
git clone https://github.com/fdintino/xydiff
-
Change directory to where you cloned the repository and generate the files from automake (≥ 1.10), autoconf (≥ 2.61) and m4 (≥ 1.4.6):
./autogen.sh
-
Run a typical configure / make. If xerces-c was installed into an unusual location, you may need to pass its prefix to
configure
using, for example,--with-xercesc=/opt/xerces
../configure make sudo make install
-
Check out the source code for php_xydiff:
git clone https://github.com/fdintino/php_xydiff
-
Change directory to where you checked out php_xydiff and run the following commands. All
--with
arguments are optional; you will only need them if configure is unable to determine the install path of libxml, xerces-c, or xydiff.phpize ./configure --prefix=$PHP_DIR \ --with-xydiff=$XYDIFF_SRC_DIR \ --with-xercesc-dir= $XERCESC_DIR \ --with-libxml-dir=$LIBXML_DIR make make test sudo make install
-
Edit your php.ini file, adding the line:
extension=xydiff.so
- php 5.3.X compiled for VC9 (Visual C++ 2008)
- Other extensions compiled for this version of php can be downloaded at (http://downloads.php.net/pierre/).
- Apache 2.X compiled for VC9 (downloadable at apachehaus.com)
- Compile (see below) or download php_xydiff-1.0-php53-vc9-x86.zip
- Copy php_xydiff.dll to
%PHP_DIR%\ext
- Copy xerces-c_3_0.dll into the
%PHP_DIR%
. (Should be in zip binary, or inC:\code\xerces-c-3.0.0-x86-windows-vc-9.0\bin
if you're compiling yourself) - Edit your php.ini file, adding the line:
extension=php_xydiff.dll
- Make sure Microsoft Visual Studio 2008 express is installed (download Visual C++ 2008 express installer).
- Install the Microsoft Windows SDK v6.1 if it is not already installed (download). Restart after installing.
- Create a working directory for the code. We will assume from here on in
that this directory is
C:\code
. - Download the Xerces 3.0.0 binaries compiled for Windows VC9
and extract them in
C:\code
. They should now be in the folderC:\code\xerces-c-3.0.0-x86-windows-vc-9.0
. - Check out xydiff into
C:\code\xydiff
:git clone https://github.com/fdintino/xydiff
- Open
C:\code\xydiff\vc9.0\xydiff.sln
. Choose "Release" as the active configuration, and build the solution - Unzip the
php_build_53_x86_vc9.zip
file in the Downloads section of this repo into
C:\code
. The contents should now be in the directoryC:\code\php_build_53_x86_vc9
. 1 - Create the directory
C:\usr\local\share
and copyC:\code\php_build_53_x86_vc9\bin\bison.simple
to this directory. - Get the source code for php 5.3.2
(download)
and extract it into
C:\code
. The contents should now be in the directoryC:\code\php-5.3.2
. - Check out the source code for php_xydiff into
C:\code\php-5.3.2\ext\xydiff
.git clone https://github.com/fdintino/php_xydiff C:\code\php-5.3.2\ext\xydiff
- Open Start → Programs → Microsoft Windows SDK v6.1 → CMD Shell
- Issue the following commands:
"C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
[if on 64 bit windows: "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"]
setenv /x86 /xp /release
set PATH=%PATH%;"C:\code\php_build_53_x86_vc9\bin"
cd C:\code\php-5.3.2
buildconf.bat
cscript /nologo configure.js --with-xydiff ^
--with-php-build="C:\code\php_build_53_x86_vc9" ^
--with-extra-includes="C:\code\xydiff;C:\code\xydiff\include;C:\code\xerces-c-3.0.0-x86-windows-vc-9.0\include" ^
--with-extra-libs="C:\code\xydiff\vc9.0\Release;C:\code\xerces-c-3.0.0-x86-windows-vc-9.0\lib"
nmake clean
nmake
- php_build_53_x86_vc9.zip is a combined zip of the following files/libraries upon which php 5.3.X depends:
- http://files.edin.dk/php/win32/zip.zip
- http://pecl2.php.net/downloads/php-windows-builds/php-libs/binary-tools.zip
- http://pecl2.php.net/downloads/php-windows-builds/php-libs/VC9/x86/libxml2-2.7.3-vc9-x86.zip
- http://pecl2.php.net/downloads/php-windows-builds/php-libs/VC9/x86/zlib-1.2.3-vc9-x86.zip
- http://pecl2.php.net/downloads/php-windows-builds/php-libs/VC9/x86/libiconv-1.12-vc9-x86.zip
- http://pecl2.php.net/downloads/php-windows-builds/php-libs/VC9/x86/ICU-3.8.1-vc9-x86.zip For reference see PHP Wiki internals:windows:libs