ID: 16690
Updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
Status: Open
-Bug Type: Apache2 related
+Bug Type: Java related
Operating System: Linux 2.4 glibc 2.2.3
PHP Version: 4.2.0
New Comment:
Not Apache 2 issue, rather a problem with ext/java/ not being thread
safe, reclassifying.
Previous Comments:
[2002-06-12 15:06:14] [EMAIL PROTECTED]
Just as I expected, everything now works normally and consistently the
the ext/java extension using the "prefork" MPM with Apache2 and PHP
4.2.1.
The various problems reported with the ext/java methods "timing
out"/"not loading" after one or a few successful hits clearly appears
to be with multithreaded web server installations and PHP (Apache2 with
worker MPM, IIS, etc..)
My latest, successful configure script:
LDFLAGS='-lstdc++' \
./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/usr/local/etc \
--with-tsrm-pthreads \
--enable-memory-limit \
--without-pear \
--disable-posix \
--enable-mbstring \
--enable-calendar \
--enable-wddx \
--enable-sockets \
--enable-ftp \
--with-zlib \
--with-bz2 \
--with-mhash \
--with-iconv \
--with-openssl \
--with-expat-dir \
--with-dom \
--with-dom-xslt \
--with-dom-exslt \
--enable-xslt \
--with-xslt-sablot \
--with-mysql=no \
--with-iodbc \
--with-ldap \
--with-imap \
--with-curl \
--with-png-dir \
--with-jpeg-dir \
--with-freetype-dir \
--with-gd \
--enable-gd-native-ttf \
--with-java=/usr/local/java/jdk1.2.2
[2002-06-11 22:09:12] [EMAIL PROTECTED]
More info:
Downgraded to Sun JDK 1.2.2 (from 1.4.0_01), recompiled PHP 4.2.1 (DSO
into Apache 2.0.36), *and* removed the --enable-xslt and
--with-xslt-sablot directives (because of some other reported bugs
about ext/xslt and ext/java not playing nice) - all of this just to try
a sane/clean build.
...but keeping the Apache 2.0.36 MPM as "worker" not "prefork".
Problem still occurs.
Basic PHP page with the usual example simple Java code loads/works
correctly. I can refresh the page every couple of seconds and it keeps
working. If I let it sit for a minute, and re-execute, the page
returns blank and the PHP error log contains: "PHP Fatal error: Unable
to create Java Virtual Machine ". Sometimes, if I wait for a few
minutes and try again, the page loads again correctly without error,
but it is rather unpredictable exactly when it will work and when it
wont (in other words, I can't set a stop watch by it).
I am now going to try build Apache2 with the prefork MPM and see if the
behavior continues.
[2002-06-11 16:53:01] [EMAIL PROTECTED]
This exact problem appears for me too on similar and different setups.
I get JVM timeouts on both Apache2(worker MPM)/Linux and Windows/IIS.
The commonality is that they are both multi-threaded (same as
reported).
Working setups where JVM works one or a few times and then "dies".
- Linux RH7.2/Apache 2.0.36 (worker MPM)/PHP 4.2.1/Sun JDK 1.4.0_01
(the "bleeding edge")
- Windows 2000/IIS/PHP 4.2.1/Sun JDK 1.3.1
[2002-04-18 19:56:10] [EMAIL PROTECTED]
To get things working, I compiled PHP with these options:
./configure --with-bz2 --enable-ftp \
--with-gd --with-ttf --enable-gd-native-ttf --with-jpeg-dir \
--with-freetype-dir \
--with-png-dir --with-zlib-dir \
--with-tiff-dir \
--with-java --with-ldap \
--with-mcrypt --with-mhash \
--with-pdflib --without-mysql \
--with-pgsql --with-snmp --enable-shared \
--enable-calendar --with-dom --with-openssl \
--with-iconv=/usr/local/lib/libiconv.so \
--with-apxs2 --enable-experimental-zts
and Apache2 with these:
./configure --enable-ssl \
--enable-module=so \
--enable-modules=all \
--enable-mods-shared=all \
--with-mpm=prefork
[2002-04-18 19:37:09] [EMAIL PROTECTED]
I want Java support in PHP pages, and I had it with PHP 4.1, Apache 1.3
and J2SDK 1.3.
When I tried to build PHP 4.2.0RC4 with J2SDK 1.4.0 and Apache 2.0.35
the first problems were some seg faults in PHP. I found out (using PHP
as CGI to get error messages) that I "MUST" compile PHP with
--enable-experimental-zts or otherwise it misses php_core_globals.
After some undocumented php.ini configurations(available throght
PHPBUILDER), I could finally get all three pieces working together, but
only once. If I call a page more than once, PHP reports that it can´t
create the Virtual Machine. I searched throght php.n