PHP3 ¼³Ä¡ ¼³¸í¼­ ================ ÀÌ ¼³¸íÀº Apache 1.3.0¿¡¼­ MySQLÀ» Áö¿øÇÏ´Â static Apache module·Î ¼³Ä¡ÇÏ´Â °£·«ÇÑ °úÁ¤ÀÌ´Ù. ÀÚ¼¼ÇÑ ¼³Ä¡ ³»¿ëÀº ¾Æ·¡ÀÇ 'ÀÚ¼¼ÇÑ ¼³¸í'À» º¸ÀÚ. shared module(DSO)·Î ¼³Ä¡ÇÏ´Â °Í¿¡ ´ëÇÑ ¼³¸íÀº 'INSTALL.DSO' ÆÄÀÏ¿¡ ÀÖ´Ù. °£·«ÇÑ ¼³Ä¡ ----------- gunzip apache_1.3.x.tar.gz tar xvf apache_1.3.x.tar gunzip php-3.0.x.tar.gz tar xvf php-3.0.x.tar cd apache_1.3.x ./configure --prefix=/www cd ../php-3.0.x ./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars make make install cd ../apache_1.3.x ./configure --prefix=/www --activate-module=src/modules/php3/libphp3.a (À§ÀÇ ¸í·ÉÀº ¸Â´Â ¸í·ÉÀÌ´Ù. ¹°·Ð libphp3.a°¡ ÇöÀç´Â ¾øÁö¸¸ »ý¼ºµÉ °ÍÀÌ´Ù.) make (ÀÌÁ¦ Apache bin µð·ºÅ丮¿¡ º¹»çÇÒ httpd ½ÇÇà ÆÄÀÏÀÌ »ý±æ °ÍÀÌ´Ù.) cd ../php-3.0.x cp php3.ini-dist /usr/local/lib/php3.ini ÀÌÁ¦ PHP ¿É¼ÇÀ» °íÄ¡±â À§ÇØ /usr/local/lib/php3.ini¸¦ ÆíÁýÇÏ¸é µÈ´Ù. httpd.conf³ª srm.confÆÄÀÏ¿¡ ´ÙÀ½°ú °°Àº ¶óÀÎÀ» ³Ö¾îÁØ´Ù: AddType application/x-httpd-php3 .php3 ÀϹÝÀûÀÎ ¹®Á¦ ÇØ°á - PHP¸¦ »õ·Î¿î ¿É¼ÇÀ¸·Î Àç ¼³Á¤ÇϱâÀü¿¡ 'config.cache' ÆÄÀÏÀº Áö¿öÁÖ´Â °ÍÀÌ ÁÁ´Ù. ƯÈ÷ FreeType TTF library ¼³Á¤°°Àº °Í¿¡¼­´Â ¸Å¿ì Áß¿äÇÏ´Ù. - PHP°¡ ¶óÀ̺귯¸®¸¦ ÀνÄÇÏÁö ¸øÇÑ´Ù¸é, ¿ì¼± configure.inÆÄÀÏÀ» »ìÆ캸ÀÚ. ÀÌ ÆÄÀÏ¿¡¼­ PHP°¡ ¾îµð¿¡¼­ ¶óÀ̺귯¸®µéÀ» ã´Â°¡¸¦ ¾Ë¾Æº¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ ÆÄÀϾȿ¡ ÀÖ´Â $withVAR º¯¼ö´Â --with-WHATEVER ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¼³Á¤ÇÑ´Ù. ¿¹¸¦µé¾î, PHP°¡ /my/path¿¡ ¼³Ä¡µÈ gd¸¦ ÀνÄÇÏ°Ô ÇÏ°í ½Í´Ù¸é, --with-gd=/my/path °°Àº ¿É¼ÇÀ» ÁְԵǰí, À̸¦ configure.in ÆÄÀÏ¿¡¼­ È®ÀÎÇϸé /my/path/lib/libgd.a¿Í /my/path/include/gd.h¸¦ ã´Â °ÍÀ» º¼ ¼ö ÀÖ´Ù. - Apache¸¦ ÄÄÆÄÀÏÇϴµ¿¾È ´ÙÀ½°ú ºñ½ÁÇÑ ¿¡·¯°¡ ³ªÅ¸³­´Ù¸é : > ./gen_test_char: error in loading shared libraries > libmysqlclient.so: cannot open shared object file: No such file or directory ȤÀº ´Ù¸¥ .so ÆÄÀÏ¿¡ ´ëÇØ ³ªÅ¸³¯¼öµµ ÀÖ´Ù. ¸®´ª½º¿¡¼­ /etc/ld.so.conf ÆÄÀÏÀ» ¼öÁ¤ÇÏ¿© ÇØ´ç .so ÆÄÀÏÀÌ ÀÖ´Â µð·ºÅ丮¸¦ Ãß°¡ÇÑ´Ù. À§ÀÇ mysqlÀÇ °æ¿ì /usr/local/lib/mysqlÀ» Ãß°¡ÇÏ´Â ½ÄÀÌ´Ù. ±×ÈÄ¿¡ 'ldconfig'¸¦ ½ÇÇàÇÏ°í, Apache µð·ºÅ丮·Î µ¹¾Æ°¡ 'make clean'À» ½ÇÇàÇÑ ÈÄ¿¡, Àç ÄÄÆÄÀÏÇÑ´Ù. ¸®´ª½º°¡ ¾Æ´Ñ °æ¿ì ÀÌ·± ¸Þ¼¼Áö¸¦ ¸¸³µ´Ù¸é, ¿©·¯ºÐÀÇ link path¿¡ ÇÊ¿äÇÑ shared libÀÇ symbolic link¸¦ ¸¸µé¾î¼­ ÇØ°áÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°Àº ½ÄÀÌ´Ù. : 'ln -s /usr/local/lib/mysql/libmysqlclient.so /usr/lib' - ¸¸¾à PHP¸¦ ¿À¶óŬ Áö¿øÀ¸·Î ÄÄÆÄÀÏ ÇÒ ¶§ unresolved reference¿¡ °ü·ÃµÈ ¿¡·¯°¡ ³ª¿Â´Ù¸é, (Apache's configure³ª src/Configure ½ºÅ©¸³Æ®¸¦ »ç¿ëÇØ ¸¸µç)Apache MakefileÀÇ LIBS ÁÙ¿¡ ÁöÁ¤µÈ ¶óÀ̺귯¸®µé Áß¿¡ ¹®Á¦°¡ ÀÖÀ» È®·üÀÌ ³ô´Ù. ¶óÀ̺귯¸®µé°ú À̵éÀÇ »óÈ£ ¿¬°ü¼ºÀÌ Ç÷§ÆûÀ̳ª ¹öÁ¯¿¡ µû¶ó ¼ö½Ã·Î ¹Ù²î±â ¶§¹®ÀÌ´Ù. PHP´Â Àû´çÇÑ °ªÀ» ã¾Æ³»±â À§ÇØ ³ë·ÂÇÏÁö¸¸ ¾ðÁ¦³ª Á¦´ë·Î ãÀ» ¼ö ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù. ´ÙÀ½°ú °°Àº ¼³Á¤ÀÌ Oracle-Linux¿¡ ¸Â´Â libµéÀÇ Á¶ÇÕÀ̶ó°í ¾Ë·ÁÁ® ÀÖ´Ù. -L$ORACLE_HOME/lib -lclntsh -lpsa -lcore4 -lnlsrtl3 -lclntsh -lm ÀÚ¼¼ÇÑ ¼³Ä¡ ----------- PHP3ÀÇ ¼³Ä¡´Â ´ÙÀ½ 4´Ü°è·Î °£´ÜÈ÷ ³¡³¾ ¼ö ÀÖ´Ù. : 1. ¹èÆ÷ÆÇ ÆÄÀÏ Ç®±â. º¸Åë ´Ù¿î ¹ÞÀº ÆÄÀÏÀÇ À̸§Àº php3xn.tar.gz°ú ºñ½ÁÇÏ´Ù. ÀÌ ÆÄÀÏÀ» ´ÙÀ½°ú °°Àº ¸í·ÉÀ¸·Î ¾ÐÃàÀ» Ǭ´Ù. : gunzip php3xn.tar.gz ¾ÐÃàÀ» Ǭ ´ÙÀ½ ´ÙÀ½ÀÇ ¸í·ÉÀ¸·Î tar¸¦ Ǭ´Ù. : tar -xvf php3xn.tar À§ÀÇ ¸í·ÉÀ¸·Î php-3.0.x µð·ºÅ丮°¡ »ý°åÀ» °ÍÀÌ´Ù. ÀÌ µð·ºÅ丮·Î cd ÇÑ´Ù. 2. PHP3 ¼³Á¤. ÀÌÁ¦ ¿øÇÏ´Â ¿É¼ÇÀ» ¼±ÅÃÇÒ Â÷·ÊÀÌ´Ù. ¿É¼Ç¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ list¸¦ º¸·Á¸é ./configure --help ¶ó°í Ä£´Ù. ¶ÇÇÑ °°ÀÌ Á¦°øµÈ 'setup' ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. ÀÌ ½ºÅ©¸³Æ®´Â ¿©·¯ºÐ¿¡°Ô ÀÏ·ÃÀÇ Áú¹®À» ÇÏ°í, À̸¦ ¹ÙÅÁÀ¸·Î configure ½ºÅ©¸³Æ®¸¦ ÀÚµ¿À¸·Î ½ÇÇàÇÏ¿© ¿øÇÏ´Â ¼³Á¤À» ÇÒ ¼ö ÀÖ°Ô ÇØ ÁØ´Ù. º¸Åë »ç¿ëÀÚ°¡ ¼³Á¤ÇÏ´Â ¿É¼ÇÀº "--enable °ú --with ·Î »çÀÛÇÏ´Â ¿É¼Çµé"ÀÌ´Ù. °¡Àå ¸¹ÀÌ »ç¿ëµÇ´Â ¿É¼ÇÀ¸·Î PHP¸¦ Apache module·Î ¸¸µå´Â ¿É¼ÇÀÌ´Ù. À̸¦ À§ÇØ »ç¿ëÀÚ´Â Apache ¼­¹öÀÇ ¼Ò½º Äڵ尡 ¾î´À µð·ºÅ丮¿¡ Àִ°¡¸¦ ¾Ë¾Æ¾ß ÇÑ´Ù. ÀÌ ¿É¼ÇÀº --with-apache=/usr/local/src/apache°ú °°ÀÌ »ç¿ëµÇ´Âµ¥, ÀÌ °æ¿ì Apache ¼Ò½º´Â ÇØ´ç µð·ºÅ丮¿¡ ÀÖ¾î¾ß ÇÑ´Ù. ´Ü¼øÈ÷ --with-apache¿Í °°ÀÌ ¿É¼ÇÀ» ÁÖ¸é /usr/local/etc/httpd µð·ºÅ丮°¡ µðÆúÆ®°ªÀ¸·Î ¼³Á¤µÈ´Ù. NOTE: ÁöÁ¤ÇØ ÁÖ´Â µð·ºÅ丮´Â Ç®¾î³õÀº Apache ¹èÆ÷º»ÀÇ top-levelÀÌ´Ù. configure ÇÁ·Î±×·¥Àº ¼³Ä¡ÇØ ³õÀº ApacheÀÇ ¹öÁ¯¿¡ µû¶ó ´Ù¸¥ µð·ºÅ丮¿¡ ÀÖ´Â httpd.h¸¦ ÀÚµ¿À¸·Î ã´Â´Ù. MySQLÀ» Áö¿øÇÏ·Á¸é, »õ ¹öÁ¯ÀÇ MySQL´Â ÇØ´ç ÆÄÀϵéÀ» /usr/local ¹Ø¿¡ ¼³Ä¡µÇ±â ¶§¹®¿¡, ÀÌ µð·ºÅ丮°¡ µðÆúÆ®°¡ µÈ´Ù. ÀÌ µð·ºÅ丮´Â --with-mysql=/opt/local°°ÀÌ ´Ù¸¥ µð·ºÅ丮·Î ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ±×·¸Áö ¾Ê´Ù¸é ´ÜÁö --with-mysql°°ÀÌ ÇØÁÖ¸é µÈ´Ù. *NOTE* ¸¸¾à ¿©·¯ºÐÀÌ Apache 1.3b6³ª ±× ÀÌ»óÀÇ ¹öÁ¯À» »ç¿ëÇÏ°í ÀÖ´Ù¸é PHP¸¦ ÄÄÆÄÀÏ Çϱâ Àü¿¡ Apache Configure¸¦ ÃÖ¼ÒÇÑ Çѹø ÀÌ»ó ½ÇÇàÇØ¾ß ÇÑ´Ù. ÀÌ ¶§´Â ApacheÀÇ ¼³Á¤ÀÌ ¾î¶»°Ô µÇ¾î Àִ°¡´Â »ó°ü ¾ø´Ù. 3. ÇØ´ç ÆÄÀÏÀÇ ÄÄÆÄÀÏ°ú ¼³Ä¡. °£´ÜÈ÷ make install ÇϸéµÈ´Ù. Apache 1.3.x ¹öÁ¯ÀÇ ¸ðµâ·Î PHP¸¦ »ç¿ëÇÑ´Ù¸é À§ÀÇ ¸í·ÉÀº ÇÊ¿äÇÑ ÆÄÀϵéÀ» ¾ÆÆÄÄ¡ ¹èÆ÷º» ¼Ò½º µð·ºÅ丮 ¹ØÀÇ src/modules/php3 µð·ºÅ丮·Î º¹»çÇÑ´Ù. ¸¸¾à Apache 1.2.x¸¦ »ç¿ëÇÑ´Ù¸é ÇØ´ç ÆÄÀϵéÀº main ¼Ò½º µð·ºÅ丮·Î ¹Ù·Î º¹»çµÈ´Ù. Apache 1.3b6 À̳ª ±× ÀÌ»óÀº, »õ·Î¿î APACI ¼³Á¤ ¸ÞÄ«´ÏÁòÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. PHP¸¦ Áö¿øÇÏ´Â Apache¸¦ ÀÚµ¿À¸·Î ¸¸µé·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù. : cd apache_1.3.x ./configure --prefix=//apache \ --activate-module=src/modules/php3/libphp3.a make make install ¸¸¾à ÀÌ »õ·Î¿î ¼³Á¤ ÅøÀ» »ç¿ëÇÏ°í ½ÍÁö ¾Ê´Ù¸é, ±âÁ¸ÀÇ ¹æ¹ý(src/Configure)À» ±×´ë·Î »ç¿ëÇصµ ÁÁ´Ù. ±âÁ¸ÀÇ ./Configure ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÑ´Ù¸é, ¹Ýµå½Ã src/Configuration ÆÄÀÏÀ» ¼Õ¼ö ¼öÁ¤ÇØ¾ß ÇÑ´Ù. ¸¸¾à ÀÌ ÆÄÀÏÀÌ ¾ø´Ù¸é Configuration.tmpl ÆÄÀÏÀ» ConfigurationÀ¸·Î º¹»çÇá »ç¿ëÇÑ´Ù. Apache 1.3.x´Â ´ÙÀ½À» Ãß°¡ÇÑ´Ù. : AddModule modules/php3/libphp3.a Apache 1.3.x¿¡¼­´Â ´õÀÌ»ó ¾Æ¹«°Íµµ ÇÊ¿ä ¾ø´Ù. ´ÜÁö À§ÀÇ ÇÑÁÙÀ» Ãß°¡ÇÑ ÈÄ¿¡ "./Configure" ¸¦ ½ÇÇàÇÏ°í, "make"ÇÏ¿© ¸¸µç´Ù. Apache 1.2.x´Â ´ÙÀ½À» Ãß°¡ÇÑ´Ù. : Module php3_module mod_php3.o Apache 1.2.x¿¡¼­´Â src µð·ºÅ丮¿¡ ÀÖ´Â libphp3.module ÆÄÀÏÀ» »ìÆì º¸¾Æ¾ß ÇÑ´Ù. Configuration ÆÄÀÏÀÇ EXTRA_LIBS ¶óÀÎÀ» libphp3.moduleÀÇ LIBS ÁÙ¿¡ ¸í½ÃµÈ libs¿Í µ¿ÀÏÇÏ°Ô ¼³Á¤ÇØ¾ß ÇÑ´Ù. ¶ÇÇÑ EXTRA_LIBS ¶óÀο¡ "-L."µµ Ãß°¡ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. µû¶ó¼­, ¿¹¸¦ µé¸é, ´ÙÀ½°ú °°Àº ÇüÅ°¡ µÇ¾î¾ß ÇÑ´Ù. : EXTRA_LIBS=-L. -lphp3 -lgdbm -ldb -L/usr/local/mysql/lib -lmysqlclient NOTE: libphp3.module ÆÄÀÏ¿¡´Â Å« µû¿ÈÇ¥(")°¡ Àִµ¥, EXTRA_LIBS ÁÙ¿¡´Â À̸¦ »©¾ß ÇÑ´Ù. ¶ÇÇÑ, libphp3.moduleÀÇ RULE_WANTHSREGEX ¼³Á¤À» »ìÆ캸¾Æ, Configuration ÆÄÀÏÀÇ WANTHSREGEX Áö½ÃÀÚ¸¦ µû¶ó¼­ ¼³Á¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ÀÌ ¸¶Áö¸· ´Ü°è´Â Apache 1.3b3±îÁö´Â Àû¿ëÇØ ÁÖ¾î¾ß ÇÑ´Ù. ÀÌ ´Ü°è¸¦ »ý·«ÇÒ ¼ö ÀÖ´Ù´Â °Í ¸¸À¸·Îµµ Apache 1.3.x·Î ¾÷±×·¹À̵åÇÏ´Â °ÍÀÌ ÁÁÀ» °ÍÀÌ´Ù. ÀÌÁ¦ ¿øÇÏ´Â Configuration ¼³Á¤ÀÌ ¿Ï·áµÇ¾úÀ¸¸é "./Configure"¸¦ ½ÇÇàÇÑ´Ù. ¿¡·¯°¡ ³­´Ù¸é, ¾Æ¸¶µµ ÀϺΠ¶óÀ̺귯¸®¸¦ »© ¸Ô¾ú°Å³ª öÀÚ°¡ Ʋ·ÈÀ» °ÍÀÌ´Ù. Configuration À» ´Ù½Ã ¼öÁ¤ÇÏ°í Àç ½Ãµµ Çغ¸ÀÚ. Àß ³¡³ª¸é "make"¸¦ ½ÇÇàÇÑ´Ù. 4. ¼­¹ö ¼³Á¤ ÀÌÁ¦ »õ·Î¿î httpd ½ÇÇà ÆÄÀÏÀÌ ¸¸µé¾î Á³´Ù. ±âÁ¸ÀÇ ¼­¹ö¸¦ Áß´ÜÇÏ°í, ±âÁ¸ÀÇ ÆÄÀÏ¿¡ »õ ÆÄÀÏÀ» µ¤¾î ¾´´Ù. ¾Æ¸¶ ±âÁ¸ÀÇ ÆÄÀϵéÀº ¹Ì¸® ¹é¾÷ÇØ ³õ´Â °ÍÀÌ ÁÁÀ» °ÍÀÌ´Ù. º¹»ç°¡ ¿Ï·á µÇ¸é conf/srm.conf ÆÄÀÏ¿¡ ´ÙÀ½ÀÇ ³»¿ëÀ» Ãß°¡ÇÑ´Ù. : AddType application/x-httpd-php3 .php3 ¶ÇÇÑ ´ÙÀ½°ú °°Àº ³»¿ëÀ» Ãß°¡ÇÏ¸é µð¹ö±ëµî¿¡¼­ À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº PHP ¹®ÀåÀ» »öÀ» ºÙ¿© º¸±â ÁÁ°Ô ¸¸µé¾î ÁÖ´Â ¿É¼ÇÀÌ´Ù. ÀÌ°ÍÀ» °¡´ÉÇÏ°Ô ÇÏ·Á¸é ´ÙÀ½°ú °°Àº ÁÙÀ» Ãß°¡ÇÑ´Ù. : AddType application/x-httpd-php3-source .phps ÀÌ·¸°Ô Çϸé .phps·Î ³¡³ª´Â ¸ðµç ÆÄÀÏÀÌ ½ÇÇàµÇ´Â ´ë½Å ¼Ò½º°¡ full colour syntax·Î Àå½ÄµÇ¾î È­¸é¿¡ ±×´ë·Î Ç¥½ÃµÇ°Ô µÈ´Ù. srm.confÀÇ ¼öÁ¤ÀÌ ¿Ï·áµÇ¸é ÀÌÁ¦ ¼­¹ö¸¦ ½ÃÀÛÇÏ¸é µÈ´Ù.