php-install Digest 24 Feb 2002 11:40:10 -0000 Issue 715
Topics (messages 6137 through 6140):
php java extension (php 4.1.1 and jdk1.4) not working
6137 by: Sukhwinder Singh
6138 by: Yasuo Ohgaki
./configure problem: says "test"
6139 by: Dan Delaney
Webserver with php and cgi and suexec or cgiwrap - php-cgiwrap
6140 by: Casper Gondelach
Administrivia:
To subscribe to the digest, e-mail:
[EMAIL PROTECTED]
To unsubscribe from the digest, e-mail:
[EMAIL PROTECTED]
To post to the list, e-mail:
[EMAIL PROTECTED]
----------------------------------------------------------------------
--- Begin Message ---
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). Questions I have begin
with @@@@ ( four @ symbols).
With php 4.1.1 and jdk1.4, I faced 100s of 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.
@@@@What is the problem above. Is there any way to enable java support with only
static libphp_java.a.
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 pro vied 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.
@@@@Where should I add this export command so that I don't have to manually type this
every time before starting apache.
*****************************Result with APACHE 2****************************
Then I tried to compile php with apache 2 beta with options changed to
--with-apache=/usr/src/httpd-2_0_28 but php didn't compile because I think source
structure of apache 2.0 is different from apache 1.3.
Then I tried option --with-apxs2=/usr/src/httpd-2_0_28 and this time --with-xmlrpc
option produced some errors so I removed --with-xmlrpc.
Finally, it compiled and a shared module was produced under apache modules directory.
LoadModule php4_module entry was automatically made by php install in httpd.conf. I
added this option in httpd.conf
<Files *.php>
SetOutputFilter PHP
SetInputFilter PHP
</Files>
and then restarted apache but php didn't work and segmentation fault message was added
to httpd.conf.
@@@@@Does php 4.1.1 support apache 2.0 and --with-apache option or only with-apxs2
option is supported and why --with-xmlrpc produces errors when used with apache 2.
I have tried different combinations and different options, about 20-30 (each time
compiled php and apache after make distclean) times on my slow Pentium 1 computer in
last two months. It takes 50 minutes every time. So please try to find solution to
this problem.
--- End Message ---
--- Begin Message ---
Try JDK 1.2 if you are using 4.1.1.
Sukhwinder Singh wrote:
> 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). Questions I have begin
>with @@@@ ( four @ symbols).
>
> With php 4.1.1 and jdk1.4, I faced 100s of problems:
>
--
Yasuo Ohgaki
--- End Message ---
--- Begin Message ---
Hi everybody. I just tried to install php 4.1.1 on a FreeBSD 4.5
machine. When I do ./configure I get the following first, before it
goes about configuring:
creating cache ./config.cache
test: 33
Copyright 1984, 1986, 1989, 1992, 2000, 2001, 2002
Free Software Foundation, Inc: bad number
test: (GNU: bad number
Anyone know what this is all about? I don't remember seeing this in
earlier versions of PHP I've installed.
Thanks
--Dan
--- End Message ---
--- Begin Message ---
Hi there,
I am searching now for weeks to find the best way to secure my webserver. I want users
to be able to run cgi and php scripts. For the securtity all the scripts have to run
under there own names. All the users that may use scripts, have a virtual host.
I tried with suexec. It works perfect, no problem. But at the tot of every php script,
you have to add #!/usr/bin/php, witch gives a lot of trouble to users, by example when
scripts are run by webserver from outside and the same script is also included (that
the line should not exist). I couldn't find with the suexec configuration how to
"solve" this. Anybody has an idea.
Next thing i tried was the cgiwrapper. With a patch you can make 2, a cgiwrap and a
php-cgiwrap, and then the first line isn't nesesarry anymore. Problem now, He looks
after directory names, so all virtualhosts doesn't work, because he can't find the
right user.
The question now. What is the best and most secure way to solve this?
Greetings,
Casper Gondelach
--- End Message ---