ȸ¿ø°¡ÀԡžÆÀ̵ð/ºñ¹øã±â
ȨÀ¸·Î


proc open
8³â Àü
(PHP 4 >= 4.3.0, PHP 5, PHP 7)

proc_open — ¸í·ÉÀ» ½ÇÇàÇÏ°í, ÀÔÃâ·Â¿ëÀ¸·Î ÆÄÀÏ Æ÷ÀÎÅ͸¦ ¿­

¼³¸í
resource proc_open ( string $cmd , array $descriptorspec , array &$pipes [, string $cwd [, array $env [, array $other_options ]]] )
proc_open() À̶ópopen() °í Àß ´à¾ÒÁö¸¸ ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀ» ´õ °¡´Ã°Ô Á¦¾îÇÒ ¼ö ÀÖ´Â Á¡¿¡¼­ ´Ù¸¨´Ï´Ù.

ÆĶó¹ÌÅÍ
cmd
½ÇÇàµÇ´Â ¸í·É.

descriptorspec
¼öÄ¡ ÷ÀÚ ¹è¿­·Î, µð½ºÅ© ¸®ÇÁ ´ÙÀ½ ¹øÈ£¸¦ Å°´Ù¸ç PHP°¡ ±× µð½ºÅ© ¸®ÇÁ Á¤º¸¸¦ ¾î¶»°Ô ÀÚ½Ä ÇÁ·Î¼¼½º¿¡ Àü´ÞÇÏ´ÂÁö¸¦ ³ªÅ¸³»´Â °ÍÀÌ ´ëÀÀÇÏ´Â °ªÀÔ´Ï´Ù. 0ÀÌ Ç¥ÁØ ÀÔ·Â(stdin), 1ÀÌ Ç¥ÁØ Ãâ·Â(stdout)À̸ç, 2ÀÌ Ç¥ÁØ ¿À·ù Ãâ·Â(stderr)ÀÔ´Ï´Ù.

°¢ ¿ä¼Ò´Â ´ÙÀ½°ú °°½À´Ï´Ù.

ÇÁ·Î¼¼½º¿¡ Àü´Þ ä³ÎÀ» ³ªÅ¸³»´Â ¹è¿­. ù¹ø° ¿ä¼Ò´Â µð½ºÅ© ¸®ÇÁ ŸÀÇ ÇüÅ·Î, 2¹ø° ¿ä¼Ò°¡ ±× Ʋ¿¡ ¸Â´Â ¿É¼ÇÀÔ´Ï´Ù. »ç¿ëÇÒ ¼ö ÀÖ´Â ÇüÀºpipe (2¹ø° ¿ä¼Ò´Â ÇÁ·Î¼¼½º¿¡ ÆÄÀÌÇÁÀÇ Àбâ ÃøÀ» °Ç³Ù´Ù¸ér ±Û ÂÊÀ» °Ç³Ù´Ù¸éw) ¹×file (2¹ø° ¿ä¼Ò´Â ÆÄÀϸí) ÀÔ´Ï´Ù.
½ÇÁ¦ ÆÄÀÏ µð½ºÅ© ¸®ÇÁ ´Ù(¿ÀÇÂÇÑ ÆÄÀÏÀ̳ª ¼ÒÄÏ, STDIN µî)À» ³ªÅ¸³»´Â ½ºÆ®¸² ÀÚ¿ø.
ÆÄÀÏ µð½ºÅ© ¸®ÇÁ ŸÀÇ ¹øÈ£´Â ƯÈ÷ 0, 1, 2¿¡ ±¹ÇÑµÈ °Í¿¡¼­´Â ¾ø½À´Ï´Ù. À¯È¿ÇÏ´Ù ¾î¶°ÇÑ ÆÄÀÏ µð½ºÅ© ¸®ÇÁ ŸÀÇ ¹øÈ£µµ ÁöÁ¤ÇÒ ¼ö ÀÖ°í, ±×°ÍÀº ÀÚ½Ä ÇÁ·Î¼¼½º¿¡ Àü´ÞµË´Ï´Ù. À̷νá ÇÑ ½ºÅ©¸³Æ®¿Í, ÀÚ½Ä ÇÁ·Î¼¼½º·Î¼­ ½ÇÇàÇÏ°í ÀÖ´Â ¶Ç ´Ù¸¥ ½ºÅ©¸³Æ®¿Í »çÀÌ¿¡¼­ Åë½ÅÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ÀÌ´Â PGP³ª GPG, opensslµîÀÇ ÇÁ·Î±×·¥¿¡ Æнº ÇÁ·¹ÀÌÁ º¸´Ù ¾ÈÀüÇÑ ¹æ¹ýÀ¸·Î ÁÖ°í ½ÍÀ» ¶§ À§·ÂÀ» ¹ßÈÖÇÕ´Ï´Ù. º¸Á¶ÀûÀÎ ÆÄÀÏ µð½ºÅ© ¸®ÇÁ Á¤º¸¸¦ ÅëÇؼ­ ±×·± ÇÁ·Î±×·¥ »óŸ¦ ÃëµæÇÏ´Â µ¥µµ Æí¸®ÇÕ´Ï´Ù.

pipes
PHPÃø¿¡¼­ »ý¼ºµÈ ÆÄÀÌÇÁÀÇ ³¡¿¡ ÇØ´çÇÏ´Â ÆÄÀÏ Æ÷ÀÎÅÍÀÇ ¹è¿­.

cwd
¸í·ÉÀÇ Ãʱâ ÀÛ¾÷ µð·ºÅ丮. ¿ÏÀü ÆнºÀÎ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ±âº» °ª(ÇöÀçÀÇ PHPÇÁ·Î¼¼½ºÀÇ ÀÛ¾÷ µð·ºÅ丮)¸¦ »ç¿ëÇÏ°í ½Í´Ù¸é NULL ¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

env
½ÇÇàÇÏ´Â ¸í·ÉÀ» À§ÇÑ È¯°æ º¯¼öÀÇ ¹è¿­. ÇöÀçÀÇ PHPÇÁ·Î¼¼½º¿Í °°Àº ȯ°æ º¯¼ö¸¦ »ç¿ëÇÏ´Â °æ¿ì´Â NULL ¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

other_options
±âŸ Ãß°¡ ¿É¼ÇÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇöÀç Áö¿øµÇ°í ÀÖ´Â ¿É¼ÇÀº ´ÙÀ½°ú °°½À´Ï´Ù.

suppress_errors (windows¸¸): TRUE ·Î Çϸé ÀÌ ÇÔ¼ö°¡ Ãâ·ÂÇÏ´Â ¿¡·¯¸¦ ¾ïÁ¦ÇÕ´Ï´Ù.
bypass_shell (windows¸¸): TRUE ·Î Çϸé,cmd.exe ²®ÁúÀ» ¿ìȸÇÕ´Ï´Ù.
¹Ýȯ °ª
ÇÁ·Î¼¼½º¸¦ ³ªÅ¸³»´Â ¸®¼Ò½º¸¦ °±°Ú½À´Ï´Ù. ÀÌ ¸®¼Ò½º´Â, »ç¿ëÀÌ Á¾·áµÈ ¶§ proc_close() ¸¦ »ç¿ëÇÏ°í °³¹æÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ½ÇÆÐÇßÀ» °æ¿ìFALSE ¸¦ °±°Ú½À´Ï´Ù.

º¯°æ ÀÌ·Â
¹öÀü        ¼³¸í
5.2.1        other_options ÆĶó¹ÌÅÍ¿¡ ¿É¼ÇÀÌbypass_shell Ãß°¡µÇ¾ú½À´Ï´Ù.
¿¹
»ç·Ê 1 Aproc_open() ÀÇ ¿¹

<?php
$descriptorspec = array(
   0 => array("pipe", "r"),  // stdin Àº ÀÚ½Ä ÇÁ·Î¼¼½º°¡ Àбâ ÆÄÀÌÇÁÀÔ´Ï´Ù.
   1 => array("pipe", "w"),  // stdout Àº ÀÚ½Ä ÇÁ·Î¼¼½º°¡ ¾²´Â ÆÄÀÌÇÁÀÔ´Ï´Ù.
   2 => array("file", "/tmp/error-output.txt", "a") // Àº ÆÄÀÏ¿¡¼­ °Å±â¿¡ ±âÀÔÇÕ´Ï´Ù.
);

$cwd = '/tmp';
$env = array('some_option' => 'aeiou');

$process = proc_open('php', $descriptorspec, $pipes, $cwd, $env);

if (is_resource($process)) {
    // $pipes Àº ÀÌ ½ÃÁ¡¿¡¼­ ´ÙÀ½°ú °°Àº ÇüŸ¦ ÃëÇÏ°í ÀÖ½À´Ï´Ù.
    // 0 => ÀÚ½Ä ÇÁ·Î¼¼½ºÀÇ ¼ö´Â nbsp;stdin ¿¡ ¿¬°áµÈ ±Û °¡´ÉÇÑ ÇÚµé
    // 1 => ÀÚ½Ä ÇÁ·Î¼¼½ºÀÇ ¼ö´Â nbsp;stdout ¿¡ ¿¬°áµÈ Àб⠰¡´ÉÇÑ ÇÚµé
    // ¸ðµç ¿¡·¯ Ãâ·ÂÀº nbsp;/tmp/error-output.txt ¿¡ ±âÀԵ˴ϴÙ.

    fwrite($pipes[0], '<?php print_r($_ENV); ?>');
    fclose($pipes[0]);

    echo stream_get_contents($pipes[1]);
    fclose($pipes[1]);

    // ¾ÏÃʸ¦ ÇÇÇÏ·Á°í proc_close À» ºÎ¸£±â Àü¿¡
    // ¸ðµç ä³ÎÀ» ´Ý´Â °ÍÀÌ Áß¿äÇÕ´Ï´Ù.
    $return_value = proc_close($process);

    echo "command returned $return_value\n";
}
?>
À§ÀÇ ¿¹ÀÇ Ãâ·ÂÀº ¿¹¸¦ µé¸é ÀÌÇÏ¿Í °°ÀÌ µË´Ï´Ù.

Array
(
    [some_option] => aeiou
    [PWD] => /tmp
    [SHLVL] => 1
    [_] => /usr/local/bin/php
)
command returned 0

ÁÖÀÇ:

WindowsÀÇ È£È¯¼º:2(stderr)º¸´Ù Å« ¹øÈ£ÀÇ µð½ºÅ© ¸®ÇÁ Ÿ´Â ÀÚ½Ä ÇÁ·Î¼¼½º¿¡ ½Â°è °¡´ÉÇÑ ÇÚµé·Î °Ç³Ê°¡Áö¸¸ WindowsÀÇ ¾ÆÅ°ÅØó´Â ÆÄÀÏ µð½ºÅ© ¸®ÇÁ ŸÀÇ ¹øÈ£¿Í ´õ ÀúÁú ÇÚµé°ú °ü·Ã ÁþÁö ¾Ê¾Æ ÀÚ½Ä ÇÁ·Î¼¼½º´Â ±×°ÍµéÀÇ Çڵ鿡 Á¢¼ÓÇÏ´Â ¹ýÀ» °¡ÁöÁö ¾Ê½À´Ï´Ù. stdin, stdout, stderr ´Â ±â´ë´ë·Î ¿òÁ÷ÀÔ´Ï´Ù.
ÁÖÀÇ:

¸¸¾à ´Ü ¹æÇâ(ÇÑ ¹æÇâ)ÀÇ ÆÄÀÌÇÁ¸¦ ÀÌ¿ëÇÒ »ÓÀ̶ó¸é popen() ¸¦ ¾²´Â °Ô ´õ °£´ÜÇÕ´Ï´Ù.
ÃßõÃßõ : 260 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
2,765
ÀÚ¹Ù½ºÅ©¸³Æ® ¿¬½À ¿¹Á¦ - ·£´ýÇÏ°Ô ¿òÁ÷ÀÌ´Â ÅؽºÆ® ¸¸µé±â
2,764
jQuery Mobile¿¡¼­ À¯¿ëÇÑ ÄÚµå 10°¡Áö
2,763
ÀÚ¹Ù½ºÅ©¸³Æ®·Î º¹»çÇϱ⠱â´É ±¸ÇöÇϱâ
2,762
[JqueryMobile] - Jquery Mobile È­¸é °­Á¦ ȸÀü
2,761
jQuery – ½º¸¶Æ®Æù ½ºÅ©¸° ȸÀü °¨Áö ½ºÅ©¸³Æ®
2,760
javascript audioÆÄÀÏ Àç»ý
2,759
javascript º¯¼ö scope shadowing Ŭ·ÎÀú
2,758
javascript ¹Ýº¹¹®
2,757
javascript Á¶°Ç¹®
2,756
javascript ¹è¿­
2,755
javascript ¿¬»êÀÚ¿Í ÇÔ¼ö
2,754
javascript ÀÚ·áÇü
2,753
javascript º¯¼ö
2,752
[jQuery] animate()¿¡¼­ stop()ÀÇ Á߿伺
2,751
javascript audioÆÄÀÏ Àç»ý
2,750
[jQuery.$ajax]mysql + php ¼­¹ö¿¡¼­ json µ¥ÀÌÅÍ ¾ò¾î¿À±â
2,749
Daum¿¡¼­ »ç¿ëÇÏ°í ÀÖ´Â ¸¶¿ì½º ¿À¸¥ÂÊ »ç¿ë ±ÝÁö ½ºÅ©¸³Æ®
2,748
MP3 ¸µÅ©½Ã ½ºÆ®¸®¹Ö µÇÁö ¾Ê°í ´Ù¿î·Îµå µÇµµ·Ï ¸¸µé±â
2,747
jQuery ºñµ¿±â Ajax Åë½ÅÀ» Çغ¸ÀÚ!! - JSON¹æ½Ä
2,746
[jQuery] load ¸¦ ÀÌ¿ëÇÑ ½Ç½Ã°£ ÆäÀÌÁö °¡Á®¿À±â
2,745
[jQuery]ºñµ¿±âÀûÀ¸·Î JSONÆÄÀÏ ·Îµå
2,744
[jQuery]µ¿ÀûÀ¸·Î ¿ø°Ý ÆäÀÌÁö ·Îµå
2,743
[jQuery]¿öÅ͸¶Å© ÅؽºÆ®¹Ú½º ÄÁÆ®·Ñ ±¸Çö
2,742
[jQuery]Æ®¸®ºä ÄÁÆ®·Ñ
2,741
[jQuery]¾Ö´Ï¸ÞÀÌ¼Ç È¿°ú ¸ØÃß±â - stop()
2,740
[jQuery]¿©·¯°¡Áö È¿°ú µ¿½Ã ó¸® - animate()
2,739
[jQuery]½½¶óÀÌµå ¾÷
2,738
[jQuery]½½¶óÀÌµå ¾÷/´Ù¿î - slideToggle()
2,737
[jQuery] scroll down °ú scroll up ÇÒ¶§ À̺¥Æ® Àû¿ë½ÃÅ°±â
2,736
[jQuery]addClass() : ½ºÅ¸ÀÏ Ãß°¡ [removeClass()]
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.