PHP x64 in Windows
Park_7677
Missouri Member
I know PHP doesn't have Windows binaries for x64 but I need some to go with my Apache x64. I've downloaded the source and have been trying to compile it for a while with no luck.
Building from source in Windows is what I've been using as a guide but I think it's open-ended and not informative enough to get me through it. It seems to be erroring on the Zend engine. I can't find an error log anywhere with more information
I'm using Visual C++ .NET (2005) and have all the x64 compilers installed (I got Apache to compile in 64-bit already). Has anyone compiled this themselves? Have they seen a better guide than the link I posted? I'm lost on this one.
Building from source in Windows is what I've been using as a guide but I think it's open-ended and not informative enough to get me through it. It seems to be erroring on the Zend engine. I can't find an error log anywhere with more information
........
zend_stream.c
zend_strtod.c
Zend\zend_strtod.c(1753) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
zend_ts_hash.c
zend_variables.c
Generating Code...
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 8\VC\BIN\amd64\cl.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 8\VC\BIN\amd64\nmake.exe"' : return code '0x2'
Stop.
I'm using Visual C++ .NET (2005) and have all the x64 compilers installed (I got Apache to compile in 64-bit already). Has anyone compiled this themselves? Have they seen a better guide than the link I posted? I'm lost on this one.
0
Comments
The error was regarding time. In Win32 you can use time_t or __time32_t. In 64-bit time_t can be converted to 64 bits but __time32_t can not (at least here). There are common included files for IO access and time of course called by PHP, and even those files act up when compiling in 64-bits. I made backups of the header files and took out "is this 32 or 64 bit system" (if/then) checks and changed all "__time32_t" to "time_t" so it wouldn't error. Still would fail but further along now.
I didn't want to go through all the code and fix all the time stuff in extensions I don't use so I just simply didn't include them. And it works I got libmysql.dll from my MySQL 5.0 (x64) install and "php_mysqli.dll" wouldn't compile but the one from the Windows binaries works already.
Not a bad job I don't think since I don't even code C/C++. I do know other languages, so I could still read the structure/get the meaning.
This is for my LAN group Fusion-X LAN. It's running on our dedicated server and provides a web interface for people playing (what game is currently playing, for how long, what's coming up next, etc) as well as an MP3 DJ (where you can request songs to play over speakers for everyone to frag to). All running on the dual AMD Opteron setup Tex sold us