Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ
  FreeBSD 4.x¿¡¼­ php 5.2.x(¶Ç´Â 4.4.x) ÄÄÆÄÀÏ ÀÛ¼ºÀÏ : 2007/03/15 16:30
 
  • ±Û¾´ÀÌ : ÁÁÀºÁøÈ£ ( http://coffeenix.net/ )
  • Á¶È¸¼ö : 7213
     
    Á¦  ¸ñ : FreeBSD 4.x¿¡¼­ php 5.2.x(¶Ç´Â 4.4.x) ÄÄÆÄÀϽà ¹®Á¦
    ÀÛ¼ºÀÚ : ÁÁÀºÁøÈ£(truefeel, http://coffeenix.net/ )
    ÀÛ¼ºÀÏ : 2007.3.7(¼ö)

    FreeBSD 4.x¿¡¼­´Â ÃÖ±Ù¿¡ ³ª¿Â php 5.2.1(¶Ç´Â 4.4.6) ¹öÀüÀ» ÄÄÆÄÀÏÇÒ ¶§ ´ÙÀ½°ú °°Àº ¿À·ù°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. (FreeBSD 6.x¿¡¼­´Â Á¤»óÀûÀ¸·Î ÄÄÆÄÀϵÊ)

     ext/standard/.libs/basic_functions.o: In function `zif_getopt':
    ext/standard/.libs/basic_functions.o(.text+0x1c8b): undefined reference to
    `getopt_long'
    *** Error code 1

    Stop in /usr/ports/lang/php5/work/php-5.2.1.
    *** Error code 1
     


    1. getopt() ÇÔ¼ö ÀÌÇØ

    À§ ¿¡·¯¸¦ ¼³¸íÇϱâ Àü¿¡ phpÀÇ getopt() ÇÔ¼ö¿¡ ´ëÇÑ ÀÌÇØ(C°³¹ßÀÚ´Â getopt(), getopt_long() ¿¡ ´ëÇؼ­´Â Àß ¾Ë°Å¶ó. ^^)°¡ ÇÊ¿äÇÏ´Ù. ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¶§ -h, -l, ... µîÀÇ ¿É¼ÇÀ» »ç¿ëÇÒ °æ¿ì°¡ Àִµ¥, ÀÌ·± ¿É¼ÇÀ» °£´ÜÈ÷ ó¸®ÇØÁÖ´Â ÇÔ¼ö°¡ getopt()ÀÌ´Ù.
    ¿¹¸¦ µé¾î -u, -i, -s, -h ¿É¼ÇÀ» »ç¿ëÇÏ°í, ¿É¼Ç µÚ¿¡ ÀÎÀÚ°ª(cf, 192.168.123.12, coffeenix)ÀÌ µû¶ó¿À´Â °æ¿ì¸¦ »ìÆ캸ÀÚ. ¿É¼ÇµÚ¿¡ ÀÎÀÚ°ªÀÌ ÀÖ´Ù¸é getopt()ÇÔ¼ö¿¡¼­ ¿É¼Ç ¹®ÀÚµÚ¿¡ : À» ºÙ¿©ÁØ´Ù.

    [ opt.html ]
     <?
    $option = getopt('u:i:s:h:');
    print_r($option);
    ?>
     


    [ opt.html ½ÇÇà½Ã ¿É¼ÇÀ» ³Ö´Â ¿¹ ]
     # php opt.html -u cf -i 192.168.123.12 -s coffeenix
    Array
    (
        [u] => cf
        [i] => 192.168.123.12
        [s] => coffeenix
    )
     


    getopt() ÇÔ¼ö¿¡ ´ëÇؼ­´Â ÀÌÇØ°¡ µÇ¾ú´Â°¡?
    FreeBSD¿¡¼­´Â php 5.2.1(¶Ç´Â 4.4.6) php¼Ò½ºÁß ext/standard/basic_functions.c¿¡ #define HARTMUT_0 ÀÌ Á¤Àǵǵµ·Ï ÆÐÄ¡¸¦ Çß´Ù. ÀÌ·Î ÀÎÇØ CÀÇ getopt_long()ÇÔ¼öÀÇ --h, --v¿Í °°ÀÌ ±ä ¿É¼Ç¸íÀ» ó¸®ÇÒ ¼ö ÀÖµµ·Ï ÇßÁö¸¸, FreeBSD 4.x¿¡¼­´Â ÄÄÆÄÀϽà ¿¡·¯°¡ ¹ß»ýÇÑ´Ù.

    2. ¿¡·¯ ¾øÀÌ ÄÄÆÄÀÏÇÏ´Â ¹æ¹ý

    php¿¡¼­ ´ÙÀ½ Á¶°Ç¿¡ ÇØ´çµÈ´Ù¸é /usr/ports/php4/files/ (php4 ¹öÀü) ¶Ç´Â /usr/ports/php5/files/ (php5 ¹öÀü) µð·ºÅ丮ÀÇ patch-ext_standard_basic_functions.c ÆÄÀÏÀ» »èÁ¦ ÈÄ¿¡ ÄÄÆÄÀÏÇÏ¸é µÈ´Ù.

    - getopt() ÇÔ¼ö¸¦ »ç¿ëÇÏÁö ¾Ê´Â °æ¿ì
    - getopt() ÇÔ¼ö¸¦ »ç¿ëÇÏÁö¸¸ ±ä ¿É¼Ç¸íÀ» »ç¿ëÇÒ ÇÊ¿ä ¾ø´Â °æ¿ì
    - getopt() ÇÔ¼ö¸¦ ´ëüÇÒ ÇÔ¼ö¸¦ °³ÀÎÀûÀ¸·Î ¸¸µé¾î »ç¿ëÇÏ´Â °æ¿ì

    3. Âü°í ÀÚ·á

    * getopt
      http://www.php.net/manual/kr/function.getopt.php
    * php ¿ë getopt ÇÔ¼ö (shell mode) (±Û ±èÁ¤±Õ)
      http://kldp.org/node/48566



    Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ / URL : http://coffeenix.net/board_view.php?bd_code=1474