ID:               15702
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Feedback
 Bug Type:         Java related
 Operating System: Red Hat Linux 7.1
 PHP Version:      4.1.1


Previous Comments:
------------------------------------------------------------------------

[2002-02-24 17:23:21] [EMAIL PROTECTED]

Can you please try to minimize the number of options you pass to PHPs
configure command and still have this error occur?  i.e. does it happen
when you use this as your configure command:

./configure --prefix=/wwwroot/php --with-apxs=/wwwroot/bin/apxs
--with-java=/usr/java/j2sdk1.4.0

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

[2002-02-24 17:02:50] [EMAIL PROTECTED]

Hello,
I tried to compile php with Java support and faced these problems. My
configuration is RedHat Linux 7.1, apache_1.3.23, php-4.1.1 and Jdk1.4
beta 2.

I must mention here that earlier php versions 4.0.6 (or earlier) and
jdk1.2.2 worked without any problems (and without exporting
LD_LIBRARY_PATH

With php 4.1.1 and jdk1.4, I faced many problems:

***************************************Results with Apache
1.3.23**********************

I first tried to compile php and apache with almost all options
available as below: 

/////////////////////////////////////PHP////////////////////////////////////

./configure --prefix=/wwwroot/php --with-apache=/usr/src/apache_1.3.23

--with-mod_charset --with-config-file-path=/wwwroot/php/ --with-openssl

--with-zlib --enable-bcmath --with-bz2 --enable-calendar --with-cpdflib

--with-png-dir --with-jpeg-dir --with-tiff-dir --enable-ctype
--with-curl 
--with-db3 --with-dom --enable-exif --enable-filepro --enable-ftp 
--with-gd --enable-gd-native-ttf --with-xpm-dir
--with-freetype-dir=/usr 
--with-ttf --with-t1lib --with-gettext --with-gmp --with-hyperwave 
--with-iconv --with-imap --with-kerberos --with-imap-ssl --with-ircg 
--with-ldap --enable-mbstring --enable-mbstr-enc-trans 
--with-mcal=/usr/src/libmcal --with-mhash
--with-mnogosearch=/usr/local/mnogosearch --with-mysql --with-pgsql
--with-pspell --with-qtdom --enable-trans-sid --enable-shmop
--with-snmp -enable-ucd-snmp-hack --enable-sockets --with-regex=php
--with-swf 
--enable-wddx --with-expat-dir=/usr/local --enable-xslt
--with-xslt-sablot 
--with-yaz=/usr/local/lib --enable-yp --with-zip --with-pdflib 
--enable-versioning --with-tsrm-st --with-tsrm-pthreads 
--enable-track-vars --enable-overload --with-mcrypt 
--with-java=/usr/java/j2sdk1.4.0 --enable-sysvsem --enable-sysvshm 
--with-xmlrpc

////////////////////////////////////////APACHE////////////////////////////////////

./configure --prefix=/wwwroot
--activate-module=src/modules/php4/libphp4.a --with-perl=/usr/bin/perl
--enable-module=auth_anon --enable-module=auth_dbm
--enable-module=auth_db --enable-module=auth_digest
--enable-module=cern_meta 
--enable-module=example --enable-module=expires --enable-module=headers
--enable-module=info --enable-module=log_agent
--enable-module=log_referer --enable-module=mime_magic
--enable-module=mmap_static --enable-module=proxy
--enable-module=rewrite --enable-module=so 
--enable-module=speling --enable-module=unique_id
--enable-module=usertrack --enable-module=vhost_alias
////////////////////////////////////////////////////////////////////////////////////

No libphp_java.so was created with these options under
/usr/src/php-4.1.1/modules or under /usr/src/php-4.1.1/ext/java and
only libphp_java.a was created. Under /wwwroot/php/lib/php/20010901
also only libphp_java.a was installed after make install.

Then thinking that java support might have been built in with this
version. I tried to access sample jver.php file. But message, unable to
create instance of non-existing class etc. was displayed.


Then I tried to compile php with only
--with-apache=/usr/src/apache_1.3.23 and
--with-java=/usr/java/j2sdk1.4.0 options and this time libphp_java.so
was created. But java didn't work (even after enabling [java] in
php.ini and exporting LD_LIBRARY_PATH as mentioned below).

I wanted to enable other php options so I deleted apache and php source
and install directories and tried to install php again as apache shared
module (libphp4.so) with following options

//////////////////////////////PHP////////////////////////////////////

./configure --prefix=/wwwroot/php --with-apxs=/wwwroot/bin/apxs 
--with-mod_charset --with-config-file-path=/wwwroot/php/ --with-openssl

--with-zlib --enable-bcmath --with-bz2 --enable-calendar --with-cpdflib

--with-png-dir --with-jpeg-dir --with-tiff-dir --enable-ctype
--with-curl 
--with-db3 --with-dom --enable-exif --enable-filepro --enable-ftp 
--with-gd --enable-gd-native-ttf --with-xpm-dir
--with-freetype-dir=/usr 
--with-ttf --with-t1lib --with-gettext --with-gmp --with-hyperwave 
--with-iconv --with-imap --with-kerberos --with-imap-ssl --with-ircg 
--with-ldap --enable-mbstring --enable-mbstr-enc-trans 
--with-mcal=/usr/src/libmcal --with-mhash 
--with-mnogosearch=/usr/local/mnogosearch --with-mysql --with-pgsql 
--with-pspell --with-qtdom --enable-trans-sid --enable-shmop
--with-snmp 
-enable-ucd-snmp-hack --enable-sockets --with-regex=php --with-swf 
--enable-wddx --with-expat-dir=/usr/local --enable-xslt
--with-xslt-sablot 
--with-yaz=/usr/local/lib --enable-yp --with-zip --with-pdflib 
--enable-versioning --with-tsrm-st --with-tsrm-pthreads 
--enable-track-vars --enable-overload --with-mcrypt 
--with-java=/usr/java/j2sdk1.4.0 --enable-sysvsem --enable-sysvshm 
--with-xmlrpc

///////////////////////////////////APACHE///////////////////////////////////////

./configure --prefix=/wwwroot --with-perl=/usr/bin/perl 
--enable-module=auth_anon --enable-module=auth_dbm
--enable-module=auth_db
--enable-module=auth_digest --enable-module=cern_meta 
--enable-module=example --enable-module=expires --enable-module=headers

--enable-module=info --enable-module=log_agent
--enable-module=log_referer 
--enable-module=mime_magic --enable-module=mmap_static 
--enable-module=proxy --enable-module=rewrite --enable-module=so 
--enable-module=speling --enable-module=unique_id 
--enable-module=usertrack --enable-module=vhost_alias

This time libphp_java.so was created and installed.

I enabled java support in php.ini as below:

[Java]
java.home=/usr/java/j2sdk1.4.0:/wwwroot/htdocs
java.class.path=/wwwroot/php/lib/php/php_java.jar
extension_dir=/wwwroot/php/lib/php/20010901
extension=libphp_java.so
java.library=/usr/java/j2sdk1.4.0/jre/lib/i386/client/libjvm.so

With above options libphp_java.so was shown as loaded by phpinfo().

When I tried to access that sample file provided with java extension
(jver.php) it produced error that libjvm.so was unable to load
libjava.so.

Then I exported LD_LIBRARY_PATH as:
export
LD_LIBRARY_PATH=/usr/java/j2sdk1.4.0/jre/lib/i386/native_threads:/usr/java/j2sdk1.4.0/jre/lib/i386:/usr/java/j2sdk1.4.0/jre/lib/i386/client;


Then I restarted apache from same shell in which I exported
LD_LIBRARY_PATH.
This time when I accessed jver.php browser sent the request and just
waited and waited and then exited with some message like network error
etc. I had enabled php error logging but nothing was entered in that
file. Then when I looked at apache error_log I found so segmentation
fault produced by php:

//////////////////////////////////////////////////////////////////////////////
[Sat Feb 23 20:51:09 2002] [notice] Digest: generating secret for
digest 
[Sat Feb 23 20:51:48 2002] [notice] child pid 704 exit 
signal Segmentation fault (11)
[Sat Feb 23 20:52:55 2002] [notice] child pid 703 exit 
signal Segmentation fault (11)
[Sat Feb 23 20:53:22 2002] [notice] child pid 706 exit 
signal Segmentation fault (11) // errors produced by php
authentication ...
/////////////////////////////////////////////////////////////////////////////////

Then I accessed jver.php again and these messages increased in apache
error_log. I knew these errors were due to some problem in php. But I
don't know what is the problem.

I changed java settings in php.ini as below but it still didn't work
and same error ("network error and segmentation fault in apache
error_log")

/////////////////////////////////////////////////////////
[Java]
java.home=/usr/java/j2sdk1.4.0:/wwwroot/htdocs
java.class.path=/wwwroot/php/lib/php/php_java.jar
extension_dir=/wwwroot/php/lib/php/20010901
extension=libphp_java.so
java.library=/usr/java/j2sdk1.4.0/jre/lib/i386/libjava.so // this was
changed
///////////////////////////////////////////////////////////////////////////////

------With JDK 1.2.2 it worked------------------------------------

Then thinking that there might be problem with Jdk1.4, I installed
Jdk1.3 and then Jdk1.2.2. With Jdk1.2.2 I compiled every thing again
from beginning and configure options changed to
--with-apache=/usr/src/apache_1.3.23 and --with-java changed according
to jdk1.2.2 paths. libphp_java.so was produced this time. When jver.php
was accessed this time errors were about unable to find libjvm.so and
other libs etc.
I exported LD_LIBRARY_PATH with paths of Jdk1.2.2 and restarted apache.
Finally this time it worked and Java Version was displayed.

I added this export to /root/.bashsrc and then to /etc/profile and
finally in /etc/httpd start function but this variable wasn't set and I
had to manually export LD_LIBRARY_PATH every time and then restart
apache only then java worked.

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


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

Reply via email to