To support java classes in php in linux, I posted my debugging notes, hoping to help you.
System Environment:
Redhat 9.0
Apache-1.3.27
Mysql3.23-54a-11
Php-4.32
J2sdk1.4.1 _ 03
Installation Configuration:
1. mysql uses the rpm package that comes with redhat9. If you do not describe the installation, jdk installation is also very simple, install jdk in/usr/java/j2sdk1.4.1 _ 03 and set jdk environment parameters in/etc/profile.
2. Compile and install apache
tar zvxf apache_1.3.27.tar.gz cd apache_1.3.27 ./configure –prefix=/usr/local/apache –enable-module=so –enable-shared=max make make install |
3. Compile and install php
tar zvxf php-4.3.2.tar.gz cd php-4.3.2 ./configure –prefix=/usr/local/php –with-mysql --with-apxs=/usr/local/apache/bin/apxs --with-java=/usr/java/j2sdk1.4.1_03 make make install |
Modify/usr/local/apache/conf/httpd. conf
Search
Add in this range
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps |
4. Configure php. ini
Cp php. ini. dist/usr/local/php/lib/php. ini
Vim php. ini
Modify the following content:
[Java] java.class.path = /usr/local/php/lib/php/php_java.jar java.home = /usr/java/j2sdk1.4.1_03 java.library = /usr/java/j2sdk1.4.1_03/jre/lib/i386/libjava.so java.library.path =/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429 extension_dir = /usr/local/php/lib/php/extensions/no-debug-non-zts-20020429 extension=java.so |
Save and exit.
Cd/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429
Ln-s java. so libphp_java.so this step is very important!
Set environment variables:
Export LD_LIBRARY_PATH =/usr/java/j2sdk1.4.1 _ 03/jre/lib/i386:/usr/java/j2sdk1.4.1 _ 03/jre/lib/i386/server
OK! Restart apache
/Usr/local/apache/bin/apachectl start
Test it. Write a test page named test. php.
<? $system=new Java("java.lang.System"); //demonstrate property access print Java version=.$system->getProperty(java.version). <br>; ?> |
Normally, the page should be displayed: Java version = 1.4.1 _ 03