[PHP È®Àå¸ðµâÀ» Ãß°¡ÇÏ´Â ¹æ¹ý] - ÀÛ¼ºÀÚ : ±èÄ¥ºÀ - ÀÛ¼ºÀÏ : 2003.03.02 - ºÐ ·ù : PHP - ¼ö ÁØ : ÃÊ±Þ - ³» ¿ë : PHP È®Àå¸ðµâ mbstring.soÀ» Ãß°¡ÇÏ´Â ¹æ¹ý(¿¹Á¦) - Å°¿öµå : PHP, extension, modules, mbstring.so *ÁÖ) ÀÌ ¹®¼­¿¡ ´ëÇÑ ÃֽŠ³»¿ëÀº ¾Æ·¡ URL¿¡¼­ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. http://www.linuxchannel.net/docs/php-ext.txt --------------------------------------------------------- ¸ñÂ÷ 1. PHP È®Àå ¸ðµâ°ú Ãß°¡ÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ­ 2. È®Àå ¸ðµâ ¸¸µé±â 2-1. ±âº» ¸ðµâÀÇ ÄÄÆÄÀÏ ¹æ½Ä 2-2. phpize ¸¦ ÀÌ¿ëÇÑ ÄÄÆÄÀÏ ¹æ½Ä 3. È®Àå ¸ðµâ ·ÎµùÇϱâ 3-1. root ±ÇÇÑÀÏ °æ¿ì 3-2. account ±ÇÇÑÀÏ °æ¿ì --------------------------------------------------------- 1. PHP È®Àå ¸ðµâ°ú Ãß°¡ÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ­ PHP È®Àå ¸ðµâÀº Á¦°ø ÇüÅ¿¡ µû¶ó¼­ Å©°Ô µÎ°¡Áö·Î º¼ ¼ö ÀÖ½À´Ï´Ù. - PHP ¼Ò½ºÀÇ ext µð·ºÅ丮¿¡ Á¸ÀçÇÏ´Â ¸ðµâ(±âº» È®Àå ¸ðµâ) - »ç¿ëÀÚ Á÷Á¢ ¸¸µé°Å³ª ±âŸ ´Ù¸¥ È®Àå ¸ðµâ ÀüÀÚÀÇ °æ¿ì´Â # cd php-xxx/ext # ls aspell ... dio ... mbstring ... ÀÌ¿Í °°ÀÌ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. (90°³°¡ ³Ñ´Â È®Àå ¸ðµâÀÌ ÀÖÀ½) ÈÄÀÚ´Â php-xxx/ext/ext_skel ¸¦ ÀÌ¿ëÇÏ¿© »ç¿ëÀÚ°¡ Á÷Á¢ ¸¸µç È®Àå¸ðµâÀ» ÀǹÌÇÕ´Ï´Ù. oops.org ¿¡¼­ ¹èÆ÷ÇÑ korean.so È®Àå ¸ðµâÀÌ ÀÌ¿¡ ÇØ´çµË´Ï´Ù. ¿ì¼± À¥¼­¹ö°¡ ÀÌ·± PHP È®Àå ¸ðµâ(¿¹: mbstring.so)¸¦ ·ÎµùÇØ¾ß Çϴµ¥ ·ÎµùÇÏ´Â ¹æ¹ýÀº Å©°Ô µÎ°¡Áö Á¤µµ°¡ ÀÖ½À´Ï´Ù. - ¾ÆÆÄÄ¡ Äھ PHP¸¦ Á¤ÀûÀ¸·Î ÄÄÆÄÀÏÇÏ´Â ¹æ¹ý - shared mbstring.so ¸ðµâÀ» ¸¸µå´Â ¹æ¹ý ÀüÀÚÀÇ ¹æ¹ýÀº óÀ½ºÎÅÍ Apache + PHP¸¦ ´Ù½Ã ºôµåÇÔÀ» ÀǹÌÇÏ°í, ÈÄÀÚÀÇ ¹æ¹ýÀº PHP È®Àå¸ðµâÀ» ÇöÀç »óÅ¿¡¼­ Ãß°¡ÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. ÈÄÀÚÀÇ °æ¿ì¿¡¼­ ÁÖÀÇÇÒ Á¡ÀÌ Àִµ¥, ¾ÆÆÄÄ¡¿¡¼­´Â mod_so.c ¸ðµâÀÌ Á¤ÀûÀ¸·Î ¾ÆÆÄÄ¡ core ¿¡ ÄÄÆÄÀϵǾî ÀÖ¾î¾ß ÇÕ´Ï´Ù. *È®Àο¹) # httpd -l ... mod_so.c ... ÀüÀÚÀÇ ¹æ¹ýÀº »ý·«ÇÏ°í, ÈÄÀÚÀÇ ¹æ¹ý¿¡µµ ¼­·Î ´Ù¸¥ ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. Áï, - ù¹ø°, ±âÁ¸ ¸ðµâÀÇ ÄÄÆÄÀÏ ¹æ½Ä - µÎ¹ø°, phpize ¸¦ ÀÌ¿ëÇÑ ÄÄÆÄÀÏ ¹æ½Ä °á°ú´Â µ¿ÀÏÇÏÁö¸¸ µÎ¹ø° ¹æ½ÄÀº ÁÖ·Î PHP¿¡¼­ °ø½ÄÀûÀ¸·Î Á¦°øÇÏÁö ¾Ê´Â ¸ðµâÀ» Ãß°¡ÇÒ¶§ ±âÁ¸ php.net¿¡¼­ Á¦°øÇÑ PHP ¼Ò½º ¾øÀÌ ÄÄÆÄÀÏÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. mbstring.so ¸ðµâÀº PHP¿¡¼­ Á¦°øÇϱ⠶§¹®¿¡ ù¹ø° ¹æ½ÄÀ» »ç¿ëÇÏ¸é µË´Ï´Ù. ¿ì¼± PHP È®Àå ¸ðµâÀ» Á¤ÀûÀ¸·Î ¾ÆÆÄÄ¡Äھ ³ÖÁö ¾Ê°í, PHPÀÇ shard ¸ðµâ·Î ºôµåÇϱâ À§Çؼ­, --enable-mbstring=shared ÀÌ¿Í °°ÀÌ 'shared'¸¦ ºÙ¿©Áà¾ß mbstring.so ¸ðµâÀ» ¸¸µé¼ö ÀÖ½À´Ï´Ù. PHP 4.3 ¹öÀüÀº --with-mbstring=kr,shared ÀÌ¿Í °°ÀÌ ÇÏ¸é µË´Ï´Ù.(½ÇÁ¦·Î 4.3Àº Á÷Á¢ Çغ¸Áú¾Ê¾Æ¼­) 2. È®Àå ¸ðµâ ¸¸µé±â 2-1. ±âº» ¸ðµâÀÇ ÄÄÆÄÀÏ ¹æ½Ä ¿ì¼± ÇöÀç ¾ÆÆÄÄ¡¿¡¼­ »ç¿ëÇÏ´Â PHP ¹öÀüÀ» ¾Ë¾Æº¾´Ï´Ù. (phpinfo(), phpversion() ¶Ç´Â HTTP ÀÀ´äÇì´õ¿¡µµ ³ª¿È) ¸¸¾à 4.2.1 ¹öÀüÀ» »ç¿ëÇÑ´Ù¸é, php-4.2.1.tar.gz ¹öÀüÀ» ¹Þ¾Æ¼­ Àӽà µð·ºÅ丮¿¡ DZ´Ï´Ù. ¸¸¾à ¼­·Î ´Ù¸¥ ¹öÀüÀÏ °æ¿ì Àß ¾ÈµÉ °æ¿ì°¡ ÀÖÀ¸¹Ç·Î °¡´ÉÇÑ ÇöÀç »ç¿ëÇÏ´Â °°Àº ¹öÀüÀ¸·Î ÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. # tar zxvf php-4.2.1.tar.gz # cd php-4.2.1 # ./configure --enable-mbstring=shared # cd ext/mbstring # make ÀÌ·¸°Ô ÄÄÆÄÀÏÇϸé php-4.2.1/ext/mbstring/.libs/mbstring.so or php-4.2.1/modules/mbstring.so ÆÄÀÏÀÌ ¸¸µé¾îÁý´Ï´Ù. 2-2. phpize ¸¦ ÀÌ¿ëÇÑ ÄÄÆÄÀÏ ¹æ½Ä ÀÌ ¹æ¹ýÀº ¾Õ¼­ ¾ê±â ÇßµíÀÌ PHP¿¡¼­ Á¦°øÇÏÁö ¾Ê´Â È®Àå ¸ðµâÀ» ÄÄÆÄÀÏÇÒ ¶§, Áï ±âÁ¸(php.net¿¡¼­ Á¦°øÇÑ)ÀÇ PHP ¼Ò½º°¡ ¾øÀ» °æ¿ì¿¡ »ç¿ëÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. ´ëºÎºÐ ÀÌ·± ¸ðµâÀº, # php-xxx/ext/ext_skel --extname=xxx ÀÌ¿Í °°ÀÌ ±âº» layoutÀ» ¸¸µé°í È®Àå ¸ðµâ xxx¸¦ C·Î ÄÚµùÇÏ´Â ¹æ¹ýÀ» ¸»ÇÕ´Ï´Ù. ÀÌ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº, - http://phpschool.com/classroom/phpext/phpext_1.html ¾ÕÀÇ URLÀ» ¹æ¹®Çϱ⠹ٶø´Ï´Ù. *¿¹: xxx È®Àå¸ðµâ) # ls /usr/local/php/bin (or /usr/bin) pear pearize php php-config phpextdist phpize phptar # # cd xxx # /usr/local/php/bin/phpize (configure ÆÄÀÏÀÌ ¸¸µé¾îÁü) # ./configure \ --with-php-config=/usr/local/php/bin/php-config \ --enable-xxx # make # ls module/*.so xxx.so # 3. È®Àå ¸ðµâ ·ÎµùÇϱâ 3-1. root ±ÇÇÑÀÏ °æ¿ì ¸¸µé¾îÁø PHP È®Àå mbstring.so ¸ðµâÀ» ¾ÆÆÄÄ¡°¡ ·ÎµùÇϵµ·Ï php.ini ÆÄÀÏÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÕ´Ï´Ù. ¿¹) -- php.ini ---------------- ... extension_dir = /usr/local/php/modules ... extension = dba.so extension = dio.so extension = oci8.so extension = mbstring.so ; <-- Ãß°¡ ... ---------------------------- ÀÌ·¸°Ô ¼öÁ¤ÇßÀ¸¸é mbstring.so ¸ðµâÀ» /usr/local/php/modules/mbstring.so À¸·Î º¹»çÇØ¾ß ÇÕ´Ï´Ù. ±×¸®°í ¾ÆÆÄÄ¡¸¦ Àç°¡µ¿ÇÏ°í phpinfo() µîÀ¸·Î È®ÀÎÇØ º¸¼¼¿ä. 3-2. account ±ÇÇÑÀÏ °æ¿ì ¸¸¾à, ÀÚ½ÅÀÌ root ±ÇÇÑÀÌ ¾ø´Â °èÁ¤ ÀÔÀåÀ̶ó¸é, ¸¸µé¾îÁö mbstring.so ¸ðµâÀ» À¥¼­¹ö¿¡ º¹»çÇÏ°í php ÆÄÀÏ¿¡ Á÷Á¢ ·ÎµùÇÏ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù. ¿ì¼± php.ini ¼³Á¤ÀÌ ¾î¶»°Ô µÇ¾î ÀÖ´ÂÁö ´ÙÀ½°ú °°ÀÌ È®ÀÎÇØ º¾´Ï´Ù. PHP 4.2.0 ÀÌ»óÀ̸é ini_get_all() ·Îµµ °¡´É '; echo 'extension_dir : ' . ini_get('extension_dir'); ?> ¸¸¾à 'enblae_dl : 1(or On)'ÀÌ ¾Æ´Ï¸é dl() ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© »ç¿ëÀÚ°¡ Á÷Á¢ È®Àå ¸ðµâÀ» ·ÎµùÇÏÁö ¸øÇϹǷΠ1(or On)À¸·Î ¼³Á¤µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¶ÇÇÑ extension_dir ¼³Á¤Àº »ç¿ëÀÚ°¡ Á÷Á¢ ¼³Á¤ÇÏÁö ¸øÇÏ´Â »ó¼ö 4ÀÇ °ªÀ» °ª½À´Ï´Ù. Áï ÀÌ ¼³Á¤Àº php.ini ¶Ç´Â httpd.conf ÆÄÀÏ¿¡¼­¸¸ ¼³Á¤°¡´ÉÇÕ´Ï´Ù. µû¶ó¼­ °ü¸®ÀÚ°¡ ¼³Á¤ÇÑ extension_dir °ªÀ» º¸°í »ó´ë°æ·Î·Î mbstring.so ¸ðµâÀ» ÁöÁ¤ÇÏ¿© ÇØ¾ß ÇÕ´Ï´Ù. ¸¸¾à extension_dir : ./ ·Î Ãâ·ÂµÈ´Ù¸é dl() ÇÔ¼ö¸¦ Á÷Á¢ È£Ã⠶Ǵ ÀÌ ÇÔ¼ö¸¦ Æ÷ÇÔÇÏ´Â PHP ÆÄÀÏÀÌ ±× ±âÁØÀÔ´Ï´Ù. (»ó´çÈ÷ °ñÄ¡¾ÆÇ ¼³Á¤ T.T) Áï ¸ðµç À¥¼­¹öÀÇ extension_dir ¼³Á¤°ªÀÌ ¸ðµÎ ´Ù¸£¹Ç·Î ¹Ýµå½Ã È®ÀÎÇؼ­ »ó´ë°æ·Î·Î ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. µû¶ó¼­ ¿©·¯ ½Ã½ºÅÛ¿¡¼­ ȣȯ¼ºÀ» °í·ÁÇÑ´Ù¸é extension_dir ÀÇ °ªÀ» / ·Î °Å½½·¯ ¿Ã¶ó°¡ / ¸¦ ±âÁØÀ¸·Î mbstring.so ÆÄÀÏÀÌ ÀÖ´Â °æ·Î¸¦ ÁöÁ¤ÇØÁÖ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. *¿¹) Á»´õ ÀÚ¼¼ÇÑ µð¹ö±ë°ú ¿©·¯ ¸ðµâÀ» ÇѲ¨¹ø¿¡ ·ÎµùÇϱ⸦ ¿øÇÑ´Ù¸é ¾Æ·¡ÀÇ ÇÊÀÚÀÇ ÇãÁ¢ÇÑ php class ¸¦ »ç¿ëÇØ º¸±â ¹Ù¶ø´Ï´Ù. http://ftp.linuxchannel.net/devel/php_dl/ EOF