php¶àÏß³Ì
ÒÔ϶¼ÊÇ×ªÔØ£¬ ¼òµ¥ËµÏ£¬ phpÊDz»Ö§³Ö¶àÏ̵߳ġ£¡£¡£¡£
PHPÓïÑÔ±¾ÉíÊDz»Ö§³Ö¶àÏ̵߳Ä. ×ܽáÁËÒ»ÏÂÍøÉϹØÓÚPHPÄ£Äâ¶àÏ̵߳ķ½·¨, ×ܵÄÀ´Ëµ, ¶¼ÊÇÀûÓÃÁËPHPµÄºÃ»ï°éÃDZ¾ÉíËù¾ßÓеĶàÏß³ÌÄÜÁ¦. PHPµÄºÃ»ï°éÖ¸µÄ¾ÍÊÇLINUXºÍAPACHEÀ², LAMPÂï.
ÁíÍâ, ¼ÈÈ»ÊÇÄ£ÄâµÄ, ¾Í²»ÊÇÕæÕýµÄ¶àÏß³Ì. ÆäʵֻÊÇ¶à½ø³Ì. ½ø³ÌºÍÏß³ÌÊÇÁ½¸ö²»Í¬µÄ¸ÅÄî. ºÃÁË, ÒÔÏ·½·¨¶¼ÊÇ´ÓÍøÉÏÕÒÀ´µÄ.
1. ÀûÓÃLINUX²Ù×÷ϵͳ
<?php
for ($i=0;$i<10;$i++) {
echo $i;
sleep(5);
}
?>
ÉÏÃæ´æ³Étest.php, È»ºóдһ¶ÎSHELL´úÂë
#!/bin/bash
for i in 1 2 3 4 5 6 7 8 9 10
do
php -q test.php &
done
2. ÀûÓÃfork×Ó½ø³Ì(ÆäʵͬÑùÊÇÀûÓÃLINUX²Ù×÷ϵͳ)
<?php
declare(ticks=1);
$bWaitFlag = FALSE; /// ÊÇ·ñµÈ´ý½ø³Ì½áÊø
$intNum = 10; /// ½ø³Ì×ÜÊý
$pids = array(); /// ½ø³ÌPIDÊý×é
echo ("Startn");
for($i = 0; $i < $intNum; $i++) {
$pids[$i] = pcntl_fork();/// ²úÉú×Ó½ø³Ì£¬¶øÇÒ´Óµ±Ç°ÐÐ֮ϿªÊÔÔËÐдúÂ룬¶øÇÒ²»¼Ì³Ð¸¸½ø³ÌµÄÊý¾ÝÐÅÏ¢
if(!$pids[$i]) {
// ×Ó½ø³Ì½ø³Ì´úÂë¶Î_Start
$str="";
sleep(5+$i);
for ($j=0;$j<$i;$j++) {$str.="*";}
echo "$i -> " . time() . " $str n";
exit();
// ×Ó½ø³Ì½ø³Ì´úÂë¶Î_End
}
}
if ($bWaitFlag)
{
for($i = 0; $i < $intNum; $i++) {
pcntl_waitpid($pids[$i], $status, WUNTRACED);
echo "wait $i -> " . time() . "n";
}
}
echo ("Endn");
?>
3. ÀûÓÃWEB SERVER, PHP²»Ö§³Ö¶àÏß³Ì, APACHE¿ÉÊÇÖ§³ÖµÄ, ºÇºÇ.
¼ÙÉèÎÒÃÇÏÖÔÚÔËÐеÄÊÇa.phpÕâ¸öÎĵµ. µ«ÊÇÎÒÔÚ³ÌʽÖÐÓÖÇëÇóWEB·þÎñÆ÷ÔËÐÐÁíÒ»¸öb.php
ÄÇôÕâÁ½¸öÎĵµ½«ÊÇͬʱִÐеÄ.
<?php
function runThread()
{
$fp = fsockopen('localhost', 80, $errno, $errmsg);
fputs($fp, "GET /a.php?act=brnrn");
fclose($fp);
}
function a()
{
$fp = fopen('result_a.log', 'w');
fputs($fp, 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "rn");
fclose($fp);
}
function b()
{
$fp = fopen('result_b.log', 'w');
fputs($fp, 'Set in ' . Date('h:i:s', time()) . (
Ïà¹ØÎĵµ£º
this,self,parentÈý¸ö¹Ø¼ü×ÖÖ®¼äµÄÇø±ð¡£´Ó×ÖÃæÉϱȽϺÃÀí½â,·Ö±ðÊÇÖ¸Õâ¡¢×Ô¼º¡¢¸¸Çס£ÎÒÃÇÏȽ¨Á¢¼¸¸ö¸ÅÄî,ÕâÈý¸ö¹Ø¼ü×Ö·Ö±ðÊÇÓÃÔÚʲôµØ·½ÄØ?ÎÒÃdzõ²½½âÊÍÒ»ÏÂ,thisÊÇÖ¸Ïòµ±Ç°¶ÔÏóµÄÖ¸Õë(¹ÃÇÒÓÃCÀïÃæµÄÖ¸ÕëÀ´¿´°É),selfÊÇÖ¸Ïòµ±Ç°ÀàµÄÖ¸Õë,parentÊÇÖ¸Ïò¸¸ÀàµÄÖ¸Õë¡£ÎÒÃÇÕâÀïÆµ·±Ê¹ÓÃÖ¸ÕëÀ´ÃèÊö£¬ÊÇÒòΪûÓиüºÃµÄÓï ......
PHP×÷ΪÓŵãºÍȱµã¶¼·Ç³£Í»³öµÄ±à³ÌÓïÑÔ£¬ÊÇ·ñÍÆ³çʹÓÿò¼Ü£¬ÖÁ½ñÈÔ´æÓÐÒìÒ顣Ȼ¶øÔÚÕâ¸ö×·Çó¾¼ÃÐ§Òæ×î´ó»¯µÄ½ñÌ죬½µµÍÈí¼þ¿ª·¢³É±¾£¬Ëõ¶Ì¿ª·¢Ê±¼ä£¬ÒѳÉΪ±ØÈ»Ö®ÊÆ£¬PHP³ÌÐò¿ª·¢Ê¹Óÿò¼ÜÒ²¾Í˳Àí³ÉÕ¡£
ÁзòÍжûË¹Ì©ÔøËµ£º“ÐÒ¸£µÄ¼ÒÍ¥ÊÇÏàËÆµÄ£¬²»ÐҵļÒÍ¥¸÷Óи÷µÄ²»ÐÒ”¡ ......
ÏÈ˵ÏÂÔÚ×öµÄ¹ý³ÌÖÐÓöµ½µÄһЩÎÊÌ⣬ÒÔ¼°½â¾öµÄ·½·¨°É
1.¹ØÓÚÊéд´íÎó
×ʼ×öµÄÊÇÒ»¸öµÇ½ģ¿é£¬ÔڵǽÑéÖ¤µÄʱºò£¬Ê¹ÓÃ$_POST½ÓÊյIJÎÊý£¬È»ºóÔÚÑéÖ¤µÄʱºò£¬È´ÔõôҲ½ÓÊÕ²»µ½ÕâÁ½¸öÖµ£¬ºóÀ´²Å·¢ÏÖ$_POSTд´íÁË£¬Ð´³É$POST ÉÙ¸öÏ»®Ïߣ¬½á¹ûÎÞ·¨ÕýÈ·µÄÑéÖ¤£¬ºÜÊÇÓôÃÆ¡£»¨Á˺ó¤Ê±¼ä£¬²ÅÕÒµ½ÔÒò£¬¶øÇÒ»¹ÊÇÒ»¸öµÍ ......
1.Èç¹ûÒ»¸ö·½·¨¿É¾²Ì¬»¯£¬¾Í¶ÔËü×ö¾²Ì¬ÉùÃ÷¡£ËÙÂÊ¿ÉÌáÉýÖÁ4±¶¡£
2.echo ±È print ¿ì¡£
3.ʹÓÃechoµÄ¶àÖØ²ÎÊý£¨Òë×¢£ºÖ¸ÓöººÅ¶ø²»ÊǾäµã£©´úÌæ×Ö·û´®Á¬½Ó¡£
4.ÔÚÖ´ÐÐforÑ»·Ö®Ç°È·¶¨×î´óÑ»·Êý£¬²»ÒªÃ¿Ñ»·Ò»´Î¶¼¼ÆËã×î´óÖµ¡£
5.×¢ÏúÄÇЩ²»ÓõıäÁ¿ÓÈÆäÊÇ´óÊý×飬ÒÔ±ãÊÍ·ÅÄÚ´æ¡£
6.¾¡Á¿±ÜÃâʹÓÃ__get£¬__set£¬__a ......
$_SERVER['PHP_SELF'] #µ±Ç°ÕýÔÚÖ´Ðнű¾µÄÎļþÃû£¬Óëdocument rootÏà¹Ø¡£
$_SERVER['argv'] #´«µÝ¸ø¸Ã½Å±¾µÄ²ÎÊý
$_SERVER['argc'] #°üº¬´«µÝ¸ø³ÌÐòµÄÃüÁîÐвÎÊýµÄ¸öÊý£¨Èç¹ûÔËÐÐÔÚÃüÁîÐÐģʽ£©¡£
$_SERVER['GATEWAY_INTERFACE'] #·þÎñÆ÷ʹÓÃµÄ CGI ¹æ·¶µÄ°æ±¾¡£ÀýÈ磬& ......