logo
Apache Lounge
Webmasters

 

About Forum Index Downloads Search Register Log in RSS X


Keep Server Online

If you find the Apache Lounge, the downloads and overall help useful, please express your satisfaction with a donation.

or

Bitcoin

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.
Post new topic   Forum Index -> Building & Member Downloads View previous topic :: View next topic
Reply to topic   Topic: PHP Win64 (for Apache 2.2 Win64) - Development Page 1, 2, 3, 4, 5  Next
Author
PaRK_7677



Joined: 01 Jun 2006
Posts: 65
Location: Missouri

PostPosted: Mon 05 Jun '06 6:07    Post subject: PHP Win64 (for Apache 2.2 Win64) - Development Reply with quote

I am creating this topic in order to encouage and help the development of PHP 5x Win64 (to use with Apache 2 Win64!)

I have started a lot of the work myself. I don't have extensive knowledge in C/C++ so although I may get it working it's not perfect and not quick to show up. However, I'm willing to try.

I highly suggest using this PHP build with Jorge's Apache 2.2.2 Win64 build: http://www.blackdot.be/?inc=apache/binaries

I hope as a group we can get a decent PHP x64 build going for Windows. Very Happy

All Files: http://www.fusionxlan.com/PHPx64/

Latest snapshot: http://www.fusionxlan.com/PHPx64/PHP-current-x64.zip - 10 MB

PHP Info page: http://www.fusionxlan.com/PHPx64/phpinfo-5.1.4-x64-2006-06-04.html

Code:
This snapshot was automatically generated on
Fri, 28 Jul 2006 23:34:30 -0500

Version: 5.1.4 (x64)
Branch: HEAD
Build: Release_TS

Built-in Extensions
===========================
bcmath
calendar
com_dotnet
ctype
date
ftp
hash
iconv
odbc
pcre
Reflection
session
libxml
standard
tokenizer
zlib
SimpleXML
dom
SPL
wddx
xml
xmlreader
xmlwriter


Dependency information:
Module: php5apache2.dll
===========================
   libapr-1.dll
   libaprutil-1.dll
   msvcr80.dll

Module: php-cgi.exe
===========================
   msvcr80.dll

Module: php.exe
===========================
   msvcr80.dll

Module: php-win.exe
===========================
   msvcr80.dll

Module: php_bz2.dll
===========================
   msvcr80.dll

Module: php_curl.dll
===========================
   libcurl.dll
   libeay32.dll
   msvcr80.dll

Module: php_dbase.dll
===========================
   msvcr80.dll

Module: php_filepro.dll
===========================
   msvcr80.dll

Module: php_gd2.dll
===========================
   msvcr80.dll

Module: php_gettext.dll
===========================
   intl.dll
   msvcr80.dll

Module: php_mime_magic.dll
===========================
   msvcr80.dll

Module: php_mysql.dll
===========================
   libmysql.dll
   msvcr80.dll

Module: php_mysqli.dll
===========================
   libmysql.dll
   msvcr80.dll

Module: php_openssl.dll
===========================
   ssleay32.dll
   libeay32.dll
   msvcr80.dll

Module: php_shmop.dll
===========================
   msvcr80.dll

Module: php_sockets.dll
===========================
   msvcr80.dll

Module: php_tidy.dll
===========================
   msvcr80.dll

Module: php_exif.dll
===========================
   php_mbstring.dll
   msvcr80.dll

Module: php_pdo.dll
===========================
   msvcr80.dll

Module: php_pdo_mysql.dll
===========================
   libmysql.dll
   msvcr80.dll

Module: php_pdo_odbc.dll
===========================
   msvcr80.dll

Module: php_pdo_sqlite.dll
===========================
   msvcr80.dll

Module: php_soap.dll
===========================
   msvcr80.dll

Module: php_xmlrpc.dll
===========================
   msvcr80.dll


Admin Note: Update the URL, now points to new location.


Last edited by PaRK_7677 on Sat 29 Jul '06 7:20; edited 1 time in total
Back to top
Jorge



Joined: 12 Mar 2006
Posts: 376
Location: Belgium

PostPosted: Mon 05 Jun '06 13:32    Post subject: Reply with quote

acutally what version of VS are you using?
I can't even mange to compile a basic php build :/
Back to top
PaRK_7677



Joined: 01 Jun 2006
Posts: 65
Location: Missouri

PostPosted: Mon 05 Jun '06 15:09    Post subject: Reply with quote

I'm using VS .NET 2005. Getting it to even compile with minimum extensions was difficult. I suggest using the command line and doing something like "nmake > c:\build.log" then viewing the long after and correcting any errors you find. It's tedious work. When I get some more libraries compiled in x64 I'll host those also for people wanting to compile themselves. With so many libraries (I've got about 35 done) it gets exponentially harder because I have to debug them also.

The biggest tip I can give you is the 32-bit time will be the hardest part. Once you edit your system includes to be more 64-bit friendly you will have a better time at getting something to compile. I'll try to look back and find the files I changed.

Have you tried the new build?
Back to top
PaRK_7677



Joined: 01 Jun 2006
Posts: 65
Location: Missouri

PostPosted: Mon 05 Jun '06 16:11    Post subject: Reply with quote

Here are some headers that I can tell I've modified. It may not be all of them but it's a start.

Modified headers: http://www.fusionxlan.com/PHPx64/modified-headers.zip

Code:
Modified Headers for PHP 5.1.x Win64

Place in Visual Studio directory.

Ex: C:\Program Files (x86)\Microsoft Visual Studio 8\VC

!!!!!!MAKE BACKUPS OF YOUR ORIGINALS!!!!!!

------------------------------------------------

\Microsoft Visual Studio 8\VC\include

   crtdefs.h
   time.h

------------------------------------------------

\Microsoft Visual Studio 8\VC\include\sys
   stat.h
   types.h
   utime.h
Back to top
Jorge



Joined: 12 Mar 2006
Posts: 376
Location: Belgium

PostPosted: Tue 06 Jun '06 15:46    Post subject: Reply with quote

acutally once you get everything working it might be a good idea to remove the php source and drop in a fresh one... and see if it will work with the modified libraries.
Back to top
PaRK_7677



Joined: 01 Jun 2006
Posts: 65
Location: Missouri

PostPosted: Tue 06 Jun '06 20:39    Post subject: Reply with quote

Jorge wrote:
acutally once you get everything working it might be a good idea to remove the php source and drop in a fresh one... and see if it will work with the modified libraries.

I have managed to build two different copies of the source code with my libraries. The ones I do have work. There are ones missing mostly because they are not open source. The company releases the libraries but only in 32-bit. With no source they can not be recompiled. Others like GD (images) and GMP (arbitrary precision arithmetic) don't want to compile for me. Still works-in-progress.

Even with the latest build, the "reset connection" bug is present. Sometimes instead of returning an error to process, PHP will reset the connection. For example, file_get_contents() will reset the connection instead of returning file not found error. When the file is found, however, PHP acts normal.

Jorge, if you can get PHP to compile also I hope we both will be able to make progress. I've bundled what libraries and DLLs I have for now, which along with the modified headers (also included in the developer zip) you should be able to build with "cscript /nologo configure.js --enable-snapshot-build" & then "nmake snap" from the command line (Start Menu > Programs > Microsoft Visual Studio 2005 > Visual Studio Tools > Visual Studio 2005 x64 Win64 Command Prompt)

Developer Toolkit: http://www.fusionxlan.com/PHPx64/developer-tools-2006-06-06.zip - 30.3 MB
That ZIP should be everything you need to build PHP in 64-bit. Download your own version of the source code from PHP.net to use!
Back to top
Jorge



Joined: 12 Mar 2006
Posts: 376
Location: Belgium

PostPosted: Wed 07 Jun '06 12:15    Post subject: Reply with quote

PaRK_7677 wrote:
Jorge wrote:
acutally once you get everything working it might be a good idea to remove the php source and drop in a fresh one... and see if it will work with the modified libraries.

I have managed to build two different copies of the source code with my libraries. The ones I do have work. There are ones missing mostly because they are not open source. The company releases the libraries but only in 32-bit. With no source they can not be recompiled. Others like GD (images) and GMP (arbitrary precision arithmetic) don't want to compile for me. Still works-in-progress.

Even with the latest build, the "reset connection" bug is present. Sometimes instead of returning an error to process, PHP will reset the connection. For example, file_get_contents() will reset the connection instead of returning file not found error. When the file is found, however, PHP acts normal.

Jorge, if you can get PHP to compile also I hope we both will be able to make progress. I've bundled what libraries and DLLs I have for now, which along with the modified headers (also included in the developer zip) you should be able to build with "cscript /nologo configure.js --enable-snapshot-build" & then "nmake snap" from the command line (Start Menu > Programs > Microsoft Visual Studio 2005 > Visual Studio Tools > Visual Studio 2005 x64 Win64 Command Prompt)

Developer Toolkit: http://www.fusionxlan.com/PHPx64/developer-tools-2006-06-06.zip - 30.3 MB
That ZIP should be everything you need to build PHP in 64-bit. Download your own version of the source code from PHP.net to use!


I'll try to give it a look this afternoun... if not on saterday,
GD is a bitch, so many depenencies i compiled it once on mac... jpeg only support and was hell.
Back to top
Apach-ed



Joined: 13 Jul 2006
Posts: 1

PostPosted: Thu 13 Jul '06 19:42    Post subject: Installation correct ?!? Reply with quote

HI, thanks for you link for apache x64!!

I have installed it on windows xp pro x64 and apache works. I als have mysql x64 which works too. Now I downloaded the php zip file and unpacked it to c:\program files\php. I followed the instructions (which probably went wrong somewhere) and made a php file with phpinfo in it. This page remains white....

Any ideas?
Back to top
PaRK_7677



Joined: 01 Jun 2006
Posts: 65
Location: Missouri

PostPosted: Thu 13 Jul '06 19:56    Post subject: Re: Installation correct ?!? Reply with quote

Apach-ed wrote:
HI, thanks for you link for apache x64!!

I have installed it on windows xp pro x64 and apache works. I als have mysql x64 which works too. Now I downloaded the php zip file and unpacked it to c:\program files\php. I followed the instructions (which probably went wrong somewhere) and made a php file with phpinfo in it. This page remains white....

Any ideas?

What does your Apache configuration file look like (the PHP part)? Should look similar to blow:

Code:
LoadModule php5_module "c:/location to php/php5apache2.dll"
AddType application/x-httpd-php .php


A completely white page almost sounds like an error with the code. Your phpinfo page should look like this:



Code:
<?php

phpinfo();

?>
Back to top
DomZ



Joined: 26 Jul 2006
Posts: 6

PostPosted: Wed 26 Jul '06 19:13    Post subject: Reply with quote

I would like to compile Apache X64 for my production server but my developpement server is intel 32bit.

Can we compile for x64 on 32bit machine ?

Regards
Back to top
Jorge



Joined: 12 Mar 2006
Posts: 376
Location: Belgium

PostPosted: Wed 26 Jul '06 20:17    Post subject: Reply with quote

DomZ wrote:
I would like to compile Apache X64 for my production server but my developpement server is intel 32bit.

Can we compile for x64 on 32bit machine ?

Regards


No you can't,
the 64-bit compiler is written in you guessed it 64-bit.

Check out http://www.blackdot.be/?inc=apachebin.htm

There clean build nothing alterd... although if you need php i'd still wait till a full build is create
Back to top
Jorge



Joined: 12 Mar 2006
Posts: 376
Location: Belgium

PostPosted: Wed 26 Jul '06 20:18    Post subject: Reply with quote

@PaRK_7677:

Can what exact building steps did you take i had a go at php x64 but not luck! php x86 worked fine.
Back to top
DomZ



Joined: 26 Jul 2006
Posts: 6

PostPosted: Thu 27 Jul '06 15:13    Post subject: Reply with quote

Jorge wrote:

the 64-bit compiler is written in you guessed it 64-bit.

Check out http://www.blackdot.be/?inc=apachebin.htm

There clean build nothing alterd... although if you need php i'd still wait till a full build is create


Ok thanks, i will waiting for a full release so Smile

That would be great to have apache compiled with the PHP module.
Back to top
PaRK_7677



Joined: 01 Jun 2006
Posts: 65
Location: Missouri

PostPosted: Sat 29 Jul '06 6:58    Post subject: Reply with quote

Jorge wrote:
@PaRK_7677:

Can what exact building steps did you take i had a go at php x64 but not luck! php x86 worked fine.


I'll work on trying to get a step-by-step manual going for what I did. It may take a while with everything else going on.

Did you replace the header files? Another suggestion is to dump the build output into a file (nmake snap >> C:\build.txt). You can scan over the build log and find the errors to fix them. Most of the time you'll find that it can't locate files. Fix and repeat.

BTW I just got GD2 library to compile Smile I tested it in PHP and it works so far. I'll try to update the release ZIP soon to include it.
Back to top
DomZ



Joined: 26 Jul 2006
Posts: 6

PostPosted: Sat 29 Jul '06 12:09    Post subject: Reply with quote

PaRK_7677 wrote:
Jorge wrote:
@PaRK_7677:

Can what exact building steps did you take i had a go at php x64 but not luck! php x86 worked fine.


I'll work on trying to get a step-by-step manual going for what I did. It may take a while with everything else going on.

Did you replace the header files? Another suggestion is to dump the build output into a file (nmake snap >> C:\build.txt). You can scan over the build log and find the errors to fix them. Most of the time you'll find that it can't locate files. Fix and repeat.

BTW I just got GD2 library to compile Smile I tested it in PHP and it works so far. I'll try to update the release ZIP soon to include it.


Excellent work !
I tested the last release (with GD2) i can confirm that's working well. The release still lacks some module (mhash, zip, ...) but you are surely working on them Smile.

I think you must share your work with PHP team Wink
Back to top
Jorge



Joined: 12 Mar 2006
Posts: 376
Location: Belgium

PostPosted: Sat 29 Jul '06 14:22    Post subject: Reply with quote

PaRK_7677 wrote:
Jorge wrote:
@PaRK_7677:

Can what exact building steps did you take i had a go at php x64 but not luck! php x86 worked fine.


I'll work on trying to get a step-by-step manual going for what I did. It may take a while with everything else going on.

Did you replace the header files? Another suggestion is to dump the build output into a file (nmake snap >> C:\build.txt). You can scan over the build log and find the errors to fix them. Most of the time you'll find that it can't locate files. Fix and repeat.

BTW I just got GD2 library to compile Smile I tested it in PHP and it works so far. I'll try to update the release ZIP soon to include it.


I'll be looking forward to it Smile
Back to top
PaRK_7677



Joined: 01 Jun 2006
Posts: 65
Location: Missouri

PostPosted: Sun 30 Jul '06 1:05    Post subject: Reply with quote

Good news Jorge! I had a long car ride today so I wrote down the steps on my laptop. They may not be as descriptive as some might need because I have done it and may not remember every little step.

Give it a try and let me know if parts are missing or confusing! Good luck building!

http://www.fusionxlan.com/PHPx64/how-to-compile.html

I also update the Developer Toolkit which will need to be re-downloaded to compile GD2. All the required links and tools are listed in the How-To.
Back to top
Jorge



Joined: 12 Mar 2006
Posts: 376
Location: Belgium

PostPosted: Sun 30 Jul '06 12:48    Post subject: Reply with quote

The latest development kit release by php is newer and has support for apache2.2 native,
Maybe you can update your's aswel.

Couldn't get it to work.
Did you hardcode paths in configer.js?
Back to top
PaRK_7677



Joined: 01 Jun 2006
Posts: 65
Location: Missouri

PostPosted: Sun 30 Jul '06 19:45    Post subject: Reply with quote

Jorge wrote:
The latest development kit release by php is newer and has support for apache2.2 native,
Maybe you can update your's aswel.

Couldn't get it to work.
Did you hardcode paths in configer.js?
Sorry. The configure.js is coded with the path when you run buildconfig (but I don't have you do this since we need the modified configure.js script). I have 2 builds of PHP, one to try stuff on and one that works. I forgot to patch the path for the configure.js.

Here is a fixed version: http://www.fusionxlan.com/PHPx64/hacked-configure-script.zip

PATH TO PHP BUILD MUST BE: "C:\phpx64\php-5.1.4\" (Readme explains how to change it)[/b]

Thanks for finding that Wink

If you still can not get it to build Jorge please do

Code:
cscript configure.js "--enable-snapshot-build" >> C:\config.txt
nmake clean
nmake snap >> C:\build.txt

And attach config.txt and build.txt to a post so I can see what's wrong still Smile
Back to top
Jorge



Joined: 12 Mar 2006
Posts: 376
Location: Belgium

PostPosted: Mon 31 Jul '06 11:03    Post subject: Reply with quote

Seems to be because the vs 2005 pro is vastly different from vs 2005 free or std
Back to top


Reply to topic   Topic: PHP Win64 (for Apache 2.2 Win64) - Development View previous topic :: View next topic
Post new topic   Forum Index -> Building & Member Downloads Page 1, 2, 3, 4, 5  Next