Hi Elizabeth,
Thanks heaps for the help! Sorry about the delay in replying, I've
been in Thailand =)
Feel absolutely free to turn us down, but you wouldn't have the time
and inclination to build us a php/java bridge module for php 5.2.5
(and probably php itself, for apache 2.2.6), would you? (paid, of
course!). I doubt it'd be something I could achieve myself, given my
complete lack of experience using MS's build tools.
Alternatively, I don't suppose you have a sample extension makefile
that I could use as a reference for setting up the php/java bridge
build?
Cheers!
Mike
On 16/12/2007, at 12:52 AM, Elizabeth M Smith wrote:
Michael Tyson wrote:
Hiya,
We're using PHP/Java Bridge (PJB) with PHP 5.1.6 and Apache 2.0.61
on Windows, and experiencing frequent segfaults of Apache.
Inspecting the dump reveals that PHP is crashing somewhere,
something to do with a null pointer exception when reporting an
error - seemingly not in the php/java module but elsewhere
(although I'm no expert).
I've tried using the same combination but with the latest Apache
(2.2.6), but the segfault still happens.
It seems to happen most (and reproducibly) when getting requests
through a flex client, when an open connection already exists from
a flex client on the same machine (i.e. one browser window runs the
flex client, and opens a popup window also with the flex client
running).
Firstly, has anyone experienced this?
So, I'm trying to update to the latest version of PHP (5.2.5), but
coming up against some problems when attempting to build PHP, which
I'm doing in order to build a PJB module to work with it. I've
tried to build PHP using Cygwin, cross-compiling against mingw32,
but that failed with a number of build errors, presumably related
to incompatible libs and includes.
Instead I tried using MS's Visual Studio C++, as in the
documentation in the PHP build directory. Firstly I couldn't get
the configure script to find the win32build folder, so I added it
to PATH and tried again. Then, the configure script ran
successfully, but nmake fails with:
"" -h win32\ -r Release_TS\ -x Release_TS\ win32\build\wsyslog.mc
'-h' is not recognized as an internal or external command, operable
program or batch file.
NMAKE : fatal error U1077: '"' : return code '0x1'
Stop.
It would appear that PHP's configure script isn't writing the make
rules properly, and is setting an empty string instead of the name
of some build tool.
Can anyone help with this? Is there a way of building the PJB
module for this version of PHP in win32 that doesn't require a
build of PHP itself?
We must have it sorted by next Wednesday (the 19th), and we're
willing to pay a reasonable rate for assistance.
Cheers,
Mike
First of all, PHP must be built with MSVC, mingw is not really
supported, and cygwin is only supported to run on the cygwin layer
(building with mingw is not supported via cygwin)
Secondly, PHP builds fine with all versions of MSVC (even the latest
2008 edition) but setting up the compile environment can be slightly
complicated. In addition to the php source code and a version of
MSVC, you also need the Windows Platform SDK (included with the full
versions of MSVC, but must be installed separately for the express
versions).
If you're using VC6 you also must apply the latest service pack and
upgrade to the last Windows Platform SDK that supports VC6
(Februrary 2003) and add them to your VC command line environment
batch file - in addition you'll need to use the newer nmake.exe from
the platform sdk (but not the other compile tools from the SDK -
it's easiest to simply rename the old nmake.exe and copy the new one
to the same location).
Then you need all the libraries that PHP currently requires. They
can be found at http://files.edin.dk/php/win32/zip.zip - yes I know,
original name. Caution, this is a large download because it
contains not only the standard libraries needed but also any
libraries used for PECL extensions. The zip archive pointed to in
the manual is supposed to have just the core libraries required but
is sadly out of date.
Unzip the resulting files and place them parallel to your php source
code - it'll look for the php_build and template directories - you
can put them elsewhere but then you have to mess with configure
flags, it's easier just to put them in the automatically detected
location.
Once you have a compile environment set up, the source code
available, and the required zip.zip files you can open up a visual
studio command prompt and cd into your php source code, and run your
configure.
Currently there is no way to do the equivalent of "phpize" on nix on
a windows system to build just one extension against an existing php
and libs. This is something I have on my "list of things to do" but
time and energy is scarce. You can set up a makefile by hand if you
really know what you're doing. Just make sure to link against the
right PHP lib and provide the preprocessor defines needed.
I also provide PHP builds in several compilers in several formats at
perisama.net if you're looking for debug versions of PHP - if you
have more questions feel free to ask.
Thanks,
Elizabeth Smith
--
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--
Michael Tyson | Developer | smartpath.com.au
m: (+61) 0407 754 124
e: mtyson@xxxxxxxxxxxxxxxx
aim: mikerusselltyson