Ä¿ÇÇÇâÀÌ ³ª´Â *NIX
Ä¿ÇǴнº
½Ã½ºÅÛ/³×Æ®¿÷/º¸¾ÈÀ» ´Ù·ç´Â °÷
*
HanIRCÀÇ #coffeenix ¹æ
[
Àåºñ ¹× ȸ¼± ÈÄ¿ø
]
> Forum <
IT ÀÏÁ¤
N
e
w
!
ÀÚµ¿È ÇÁ·ÎÁ§Æ®
HOME
>
ÇÁ·Î±×·¡¹Ö / °³¹ß
>
À¥ ÇÁ·Î±×·¡¹Ö / PHP
µµ¿ò¸»
°Ë»ö :
»çÀÌÆ®
WHOIS
À¥¼¹ö Á¾·ù
php¿¡¼ JAVA class »ç¿ëÀ§ÇÑ ¿¬µ¿ (FreeBSD)
ÀÛ¼ºÀÏ : 2005/10/30 01:53
±Û¾´ÀÌ : ÁÁÀºÁøÈ£ (
http://coffeenix.net/
)
Á¶È¸¼ö : 13388
[
ÀÌÀüȸé
/
¼öÁ¤
] ºñ¹Ð¹øÈ£ :
Á¦ ¸ñ : php¿¡¼ JAVA class »ç¿ëÀ§ÇÑ php/java ¿¬µ¿ (FreeBSD)
±Û¾´ÀÌ : ÁÁÀºÁøÈ£(truefeel,
http://coffeenix.net/
)
ÀÛ¼ºÀÏ : 2005.7.12(È)~14(¸ñ)
Á¤¸®ÀÏ : 2005.10.28(±Ý)
php¿¡ JAVA class¸¦ È£ÃâÇÏ¿© »ç¿ëÇϱâ À§ÇÑ php ¼³Á¤¿¡ ´ëÇØ ¾Ë¾Æº»´Ù.
JDK³ª APM ¼³Ä¡ °úÁ¤Àº ¹Ì¸® ¾Ë°Å¶ó »ý°¢ÇÏ°í ¿¬µ¿°ú °ü·ÃµÈ ºÎºÐ À§ÁÖ·Î ¼³¸íÇÒ °ÍÀÌ´Ù.
1. JDK ¼³Ä¡
FreeBSD¿ëÀ¸·Î ÆÐÄ¡µÈ JDK ¶Ç´Â linux-sun-jdk14 ¸¦ ¼³Ä¡ÇÑ´Ù.
makeÇÒ ¶§ Ãâ·ÂµÇ´Â URL¿¡¼ JDK´Â Á÷Á¢ ¹Þ¾Æ /usr/ports/distfiles ¿¡ º¹»çÇØµÖ¾ß ÇÏ´Â °ÍÀº ¾Ë°ÚÁÒ?
#
cd /usr/ports/java/jdk14
(FreeBSD¿ëÀ¸·Î ÆÐÄ¡µÈ JDK) ¶Ç´Â
/usr/ports/java/linux-sun-jdk14
#
make install
#
cd /usr/local
#
ln -s jdk1.4.2 java
¶Ç´Â
ln -s linux-sun-jdk1.4.2 java
ÀÌÁ¦ ȯ°æº¯¼ö ¼³Á¤À» ÇÑ´Ù.
setenv JAVAHOME /usr/local/java
setenv LD_LIBRARY_PATH /usr/local/lib:/usr/lib:/usr/local/lib/php: <-- ´ÙÀ½ÁÙ±îÁö ÇÑÁÙ·Î
/usr/local/lib/php/20020429:$JAVA_HOME/jre/lib/i386:$JAVA_HOME/jre/lib/i386/server
2. apache À缳ġ
apache°¡ ¼³Ä¡µÇ¾î ÀÖ´Ù¸é pthread »ç¿ëÇÏ¿© ÀçÄÄÆÄÀÏÇÑ´Ù.
pthread¸¦ »ç¿ëÇÏÁö ¾Ê°í ÄÄÆÄÀÏÀ» Çϸé php¿¡¼ java class »ç¿ë½Ã ¿¡·¯°¡ ¹ß»ýÇÒ °ÍÀÌ´Ù.
/usr/ports/www/apache13/Makefile ÆÄÀÏ¿¡¼ 130¿©¹ø°ÁÙ Á¤µµ¿¡¼ ´ÙÀ½À» ¼öÁ¤ÇÑ´Ù.
CONFIGURE_ENV+= \
INCLUDES=-I${LOCALBASE}/include \
LDFLAGS=-L${LOCALBASE}/lib
´ë½Å
CONFIGURE_ENV+= \
INCLUDES=-I${LOCALBASE}/include \
LDFLAGS="-L${LOCALBASE}/lib -pthread -lc_r"
¶ÇÇÑ ´ëÇü »çÀÌÆ®ÀÏ °æ¿ì httpd.conf¿¡¼ MaxClients¸¦ 512 ÀÌ»óÀ¸·Î ¼³Á¤ÇÒ ¼ö ÀÖµµ·Ï
HARD_SERVER_LIMIT °ªÀ» 1024³ª 2048·Î ´Ã¸°´Ù.
CFLAGS+=-DHARD_SERVER_LIMIT=2048
ÀÌÁ¦ ÄÄÆÄÀÏÇÏÀÚ.
#
cd /usr/ports/www/apache13
#
make
#
make install clean
3. php ¼³Ä¡
/usr/port/lang/php4/Makefile ÀÇ CONFIGURE_ARGS= Áß°£¿¡ --with-java= ¿É¼ÇÀ» »ðÀÔÇÑ´Ù.
--with-java=/usr/local/java \
³ª¸ÓÁö´Â apache¿¡ php ¿¬µ¿Çϱâ À§ÇÑ ÇüÅ·Π¼³Ä¡¸¦ ÇÏ¸é µÇ¸ç, ¼³Ä¡ ÈÄ¿¡´Â ´ÙÀ½ ÀÛ¾÷ÀÌ
¹Ýµå½Ã ÇÊ¿äÇÏ´Ù.
#
cd /usr/local/lib/php/20020429
#
ln -s java.so libphp_java.so
#
ls -l *java*
-rwxr-xr-x 1 root wheel 13225 7 14 13:52 java.so
lrwxr-xr-x 1 root wheel 7 7 11 17:34 libphp_java.so -> java.so
±×¸®°í, /usr/local/etc/php/extentions.ini ¿¡ extension=java.so Ãß°¡.
/usr/local/etc/php.ini¿¡´Â [java] section ¼³Á¤ÀÌ ÇÊ¿äÇÏ´Ù.
java.class.path= ¿¡´Â ÇÊ¿äÇÑ class µð·ºÅ丮³ª jar ÆÄÀÏ full°æ·Î¸¦ ÁöÁ¤ÇÏ¸é µÈ´Ù.
[java]
java.class.path =/usr/local/lib/php/php_java.jar:/home/truefeel/java/lib/mysql-connector-java-...-bin.jar
java.home = /usr/local/java
java.library = /usr/local/java/jre/lib/i386/server/libjvm.so
java.library.path =/usr/local/lib/php/20020429
4. Å×½ºÆ®
* javaver.html
<?
// get instance of Java class java.lang.System in PHP
$system = new Java('java.lang.System');
// demonstrate property access
echo 'Java version=' . $system->getProperty('java.version') . '<br>';
echo 'Java vendor=' . $system->getProperty('java.vendor') . '<br>';
echo 'OS=' . $system->getProperty('os.name') . ' ' .
$system->getProperty('os.version') . ' on ' .
$system->getProperty('os.arch') . ' <br>';
// java.util.Date example
$formatter = new Java('java.text.SimpleDateFormat',
"EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");
echo $formatter->format(new Java('java.util.Date'));
?>
À¥ºê¶ó¿ìÀú¿¡ ´ÙÀ½°ú °°ÀÌ °á°ú¸¦ ¾ò¾ú´Ù¸é ¼º°øÀûÀ¸·Î ¼³Ä¡µÇ¾ú´Ù.
Java version=1.4.2-p7
Java vendor=Sun Microsystems Inc.
OS=FreeBSD x.xx-RELEASE-px on i386
Åä¿äÀÏ, 10¿ù 29, 2005 at 1:02:35 ¿ÀÀü GMT+09:00
5. ¹®Á¦ ÇØ°á
1)
Fatal error: Unable to locate CreateJavaVM function in
/home/truefeel/public_html/javaver.html on line 3 ¿¡·¯ ¹ß»ý
-> php.ini ÀÇ [java] ºÎºÐ¿¡ java.library¸¦ ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
(/usr/local/java ´Â JDKÀÇ È¨ °æ·ÎÀÓ)
java.library = /usr/local/java/jre/lib/i386/server/libjvm.so
2)
Fatal error: Cannot instantiate non-existent class: java in
/home/truefeel/public_html/javaver.html on line 3
-> extensions.ini ¿¡
extension=java.so Ãß°¡
3)
php ~truefeel/public_html/javaver.html ½ÇÇà½Ã
/usr/libexec/ld-elf.so.1: /usr/local/java/jre/lib/i386/server/libjvm.so:
Undefined symbol "pthread_main_np"
¶Ç´Â apacheÀÇ error.log¿¡ À§ÀÇ ¸Þ½ÃÁö°¡ ³²À» ¶§
-> apache¸¦ pthread »ç¿ëÇؼ ÀçÄÄÆÄÀÏÇÑ´Ù.
4)
php ½ÇÇà½Ã
PHP Warning: Function registration failed - duplicate name -
java_last_exception_get in Unknown on line 0
PHP Warning: Function registration failed - duplicate name -
java_last_exception_clear in Unknown on line 0
PHP Warning: java: Unable to register functions, unable to load in Unknown on line 0
-> extensions.ini ¿¡ extension=java.so ÀÌ 2ÁÙ ÀÌ»óÀÏ ¶§ ¹ß»ý
5)
php ½ÇÇà½Ã ¾Æ¹« ¿¡·¯¸Þ½ÃÁöµµ ¾ø°í apache error log¿¡µµ ¾Æ¹«°Íµµ ¾øÀ¸³ª °á°ú°¡ ¾È³ª¿Ã ¶§
-> ȯ°æº¯¼ö LD_LIBRARY_PATH ¸¦ ¼ÂÆÃÇß´ÂÁö È®ÀÎÇغÁ¶ó.
6. Âü°í ÀÚ·á
* PHP / Java Integration (¿¬µ¿Å×½ºÆ®¿ë ¿¹Á¦¿Í ¼³Ä¡ ¹æ¹ý µî¿¡ ´ëÇÑ ¼³¸í)
http://www.php.net/java
* java & php4 + apache 1.3.x
http://lists.freebsd.org/pipermail/freebsd-questions/2003-December/029894.html
* FreeBSD+PHP+Java(jdk1.4.2)
http://blog.devep.net/adex/2005/03/11/1110477642312.html
* Re: FreeBSD + ext/java
http://aspn.activestate.com/ASPN/Mail/Message/php-install/1050662
| However, when accessing a php script containing a java call, I get:
| ---
| Fatal error: Unable to locate CreateJavaVM function in java.php on line 6
I had a similar with (php+java+freebsd), but I gave up on a similar problem.
Later I found out that the problem could possibly be solved by forcing
Apache to be built with libc_r (multithreading library) by manually
adding -pthread switch to Apache Makefile.
Please, tell me if it works for you.
Ä¿ÇǴнº Ä«Æä ÃÖ±Ù ±Û
[04/18]
??? ?????
[04/17]
???? onion ?????? -
[04/11]
±¹°¡
[04/10]
Stride Into Dream:
[03/20]
Re: ¿Â¶óÀΰÔÀÓÀÇ Á¾ÁÖ±¹ ´ëÇѹα¹
[10/20]
Cross Compiler ±ò
[07/14]
SSL ¬¡¬°
[04/26]
Re: µµ½ºÈ¸é ¿ø°ÝÁ¶Á¾ ¿©ºÎ
[04/25]
µµ½ºÈ¸é ¿ø°ÝÁ¶Á¾ ¿©ºÎ
[10/30]
Cshell¿¡¼ ³¼ö ¼³Á¤
[10/23]
°øÇ×öµµÁÖ½Äȸ»ç SE ±¸ÀÎ Ëì
[01/26]
Re: wgetÀ¸·Î ´Ù¸¥¼¹ö¿¡ÀÖ´Â µð·ºÅ丮¸¦ °¡Á®¿À·Á°íÇÕ´Ï´Ù.
[01/25]
wgetÀ¸·Î ´Ù¸¥¼¹ö¿¡ÀÖ´Â µð·ºÅ丮¸¦ °¡Á®¿À·Á°íÇÕ´Ï´Ù.
[01/11]
ƯÁ¤ ¾Èµå·ÎÀ̵å WebView ¹öÀü¿¡¼ SSL ¹®Á¦ (WebView ¹ö±×)
[08/01]
DNS forwarder (Àü´ÞÀÚ) ¼¹ö¸¦ ÅëÇؼ Äõ¸®ÇÏ¸é ¿ª¹æÇâÀ» ¹Þ¾Æ¿ÀÁú ¸øÇÕ´Ï´Ù.
N
e
w
! ÃÖ±Ù¿¡ µî·ÏÇÑ ÆäÀÌÁö
KiCad EDA Suite project (Free/Libre/Open-Source EDA Suite) (CAD)
¿ÀÇÂij½ºÄÉÀ̵å ijµå (OpenCASCADE CAD)
QCad for Windows --- GNU GPL (Free Software)
The Hello World Collection
IPMI¸¦ È°¿ëÇÑ ¸®´ª½º ¼¹ö°ü¸®
DNS ¼³Á¤ °Ë»ç
nagiosgraph ¼³Ä¡ ¹æ¹ý
Slony-I ¼³Ä¡ ¹æ¹ý (postgresql replication tool)
Qmail±â¹ÝÀÇ Anti spam ½Ã½ºÅÛ ±¸ÃàÇϱâ
clusterssh
[ ÇÔ²²ÇÏ´Â »çÀÌÆ® ]
¿î¿µÁø :
ÁÁÀºÁøÈ£(truefeel)
, ¾ß¼ö(yasu), ¹ü³ÃÀÌ, sCag
2003³â 8¿ù 4ÀÏ~