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.net and somebody
posted a response that PHP creates one VM per thread. So, if my Apache2
is multithreaded, PHP is creating many VM per processes, i thought. 

Thatīs it. When I compiled Apache2 with "prefork" (not multithreaded),
my Java-enabled PHP pages worked just fine.

Iīm reporting this bug, since PHP must work with Apache2 "worker"
(multithreaded).


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


-- 
Edit this bug report at http://bugs.php.net/?id=16690&edit=1

Reply via email to