phpÓÐÒ»×é½ø³Ì¿ØÖƺ¯Êý£¬Ê¹µÃphpÄÜÔÚ*nixϵͳÖÐʵÏÖ¸úcÒ»ÑùµÄ´´½¨×Ó½ø³Ì¡¢Ê¹ÓÃexecº¯ÊýÖ´ÐгÌÐò¡¢´¦ÀíÐźŵȹ¦ÄÜ¡£
ÒýÓÃ
Process Control support in PHP implements the Unix style of process creation, program execution, signal handling and process termination. Process Control should not be enabled within a web server environment and unexpected results may happen if any Process Control functions are used within a web server environment.
½÷ÒԴ˾äÏ׸ø³¬¹¤£¬ÔÚweb server»·¾³Öв»ÒªÊ¹ÓÃÕâ×麯Êý£¬ÒòΪ»áµ¼Ö²»¿ÉÔ¤ÁϵĽá¹û¡£Áí£¬windows×÷Ϊ·ÇÀàunixϵͳ£¬Ã»ÓÐÕâЩº¯Êý¡£
PCNTLʹÓÃticksÀ´×÷ΪÐźŴ¦Àí»úÖÆ£¨signal handle callback mechanism£©£¬¿ÉÒÔ×îС³Ì¶ÈµØ½µµÍ´¦ÀíÒ첽ʼþʱµÄ¸ºÔØ¡£ºÎνticks£¿Tick ÊÇÒ»¸öÔÚ´úÂë¶ÎÖнâÊÍÆ÷ÿִÐÐ N ÌõµÍ¼¶Óï¾ä¾Í»á·¢ÉúµÄʼþ£¬Õâ¸ö´úÂë¶ÎÐèҪͨ¹ýdeclareÀ´Ö¸¶¨¡£
PCNTLµÄº¯Êý¶¼ÓÐÕâôЩ£º
ÐźŴ¦Àí
int pcntl_alarm ( int $seconds )
ÉèÖÃÒ»¸ö$secondsÃëºó·¢ËÍSIGALRMÐźŵļÆÊýÆ÷
bool pcntl_signal ( int $signo , callback $handler [, bool $restart_syscalls ] )
Ϊ$signoÉèÖÃÒ»¸ö´¦Àí¸ÃÐźŵ ......
»ù±¾Ë¼Â·£ºÍ¨¹ýSOCKETÇëÇóÆäËûPHP½Å²½£¬ÊµÏÖPHPµÄ¶à½ø³ÌµÄÒì²½Ö´ÐС£
·Ï»°¾Í²»¶à˵ÁË£¬Çë¿´ÏÂÃæµÄ½Å²½²¢Ö´ÐÐÖ®¡£
<?php
//a.php
function runThread(){
$fp = fsockopen('127.0.0.1', 82, $errno, $errmsg);
fputs($fp, "GET /a.php?act=b\r\n"); //ÕâÀïµÄµÚ¶þ¸ö²ÎÊýÊÇHTTPÐÒéÖй涨µÄÇëÇóÍ·
//²»Ã÷°×µÄÇë¿´RFCÖеĶ¨Òå
fclose($fp);
}
function a(){
$fp = fopen('result_a.log', 'w');
fputs($fp, 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "\r\n");
fclose($fp);
}
function b(){
$fp = fopen('result_b.log', 'w');
fputs($fp, 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "\r\n");
fclose($fp);
}
if(!isset($_GET['act'])) $_GET['act'] = 'a';
if($_GET['act'] == 'a')
{
runThread();
a();
echo 'ok';
}
else if($_GET['act'] == 'b') {
b();
}
?>
ͨ¹ý¹Û²ìresult_a.logÓëresult_b.log£º
result_a.log: Set in 03:45:560.293005
result_b.log: Set in 03:45:560.296877
ÎÒÃÇ·¢ÏÖ,ÏÈдÁËresult_a.logÎļþºóдÁËresult_b.log£¬Õâ˵Ã÷Á½¸ö½ø³ÌÊÇÒì²½Ö´Ðеġ£ ......
ʹÓÃpopen½áºÏSHELLÃüÁîÒ²¿ÉÒÔʵÏÖ¶à½ø³Ì²¢·¢±à³Ì¡£
ʵÀýÈçÏ£º
<?php
//b.phpÎļþ
$file = 'testdir/file.txt';
for ($i=0;$i<10;$i++){
$fp = fopen($file,'a+');
fputs($fp, $i.'\r\n');
fclose($fp);
sleep(1);
}
?>
<?php
//p.php
echo 'start curl<br>';
$out = popen("/usr/local/php5/bin/php /var/htdocs/b.php &", "r");
pclose($out);
echo 'end curl<br>';
?>
ÔËÐÐp.php£¬¼´¿ÉʵÏÖPHP¶à½ø³ÌÒì²½±à³Ì¡£ ......
°ì·¨Ò»
select * from V$NLS_PARAMETERS
$conn = oci_connect('scott', 'donkey', 'demo', 'zhs16gbk');
while ($dat = oci_fetch_row($cur)) {
print_r(iconv('gb2312', 'utf-8', $dat[0])); //$nickname = mb_convert_encoding($dat[0], 'utf-8', 'gbk');
}
»òÕß $c1 = oci_connect("scott", "tiger", $db, 'UTF8');
°ì·¨¶þ£º
°²×°ºÃ·þÎñÆ÷ºó£¬Óÿͻ§¶Ë¿´·þÎñÆ÷µÄÓïÑÔ
sql>select * from V$NLS_PARAMETERS Where PARAMETER=''NLS_LANGUAGE'';
±ÈÈç½á¹ûÊÇ"SIMPLIFIED CHINESE”
ÔÚApacheÀï¼ÓÈë»·¾³±äÁ¿
export NLS_LANGUAGE="SIMPLIFIED CHINESE"
ÔÚ/etc/init.d/httpdÀï¼ÓÈ룬Դ´úÂë°²×°µÄApacheдһ¸ö½Å±¾µ÷ÓÃapachectl
»òÕßÐèÒª/etc/init.d/httpdÀï¼ÓÈëÀïÒýÈë»·¾³±äÁ¿£¬ÓÉÓÚ±¾»úûÓÐÄǸöÆô¶¯Îļþ£¬ËùÒÔÖ»ÄÜÔÚapachectlÀï¼ÓÈëÈçÏ´úÂ룺
export NLS_LANGUAGE="SIMPLIFIED CHINESE"¡£
·½·¨Èý£ºhttpd.confÀï¼ÓÒ»ÐÐAddDefaultCharset GB2312 /off
·½·¨ËÄ£ºhtmlspecialchars() Ö§³ÖË«×Ö½Ú×Ö·û£¬±ÈÈ纺×Ö
&nbs ......
°ì·¨Ò»
select * from V$NLS_PARAMETERS
$conn = oci_connect('scott', 'donkey', 'demo', 'zhs16gbk');
while ($dat = oci_fetch_row($cur)) {
print_r(iconv('gb2312', 'utf-8', $dat[0])); //$nickname = mb_convert_encoding($dat[0], 'utf-8', 'gbk');
}
»òÕß $c1 = oci_connect("scott", "tiger", $db, 'UTF8');
°ì·¨¶þ£º
°²×°ºÃ·þÎñÆ÷ºó£¬Óÿͻ§¶Ë¿´·þÎñÆ÷µÄÓïÑÔ
sql>select * from V$NLS_PARAMETERS Where PARAMETER=''NLS_LANGUAGE'';
±ÈÈç½á¹ûÊÇ"SIMPLIFIED CHINESE”
ÔÚApacheÀï¼ÓÈë»·¾³±äÁ¿
export NLS_LANGUAGE="SIMPLIFIED CHINESE"
ÔÚ/etc/init.d/httpdÀï¼ÓÈ룬Դ´úÂë°²×°µÄApacheдһ¸ö½Å±¾µ÷ÓÃapachectl
»òÕßÐèÒª/etc/init.d/httpdÀï¼ÓÈëÀïÒýÈë»·¾³±äÁ¿£¬ÓÉÓÚ±¾»úûÓÐÄǸöÆô¶¯Îļþ£¬ËùÒÔÖ»ÄÜÔÚapachectlÀï¼ÓÈëÈçÏ´úÂ룺
export NLS_LANGUAGE="SIMPLIFIED CHINESE"¡£
·½·¨Èý£ºhttpd.confÀï¼ÓÒ»ÐÐAddDefaultCharset GB2312 /off
·½·¨ËÄ£ºhtmlspecialchars() Ö§³ÖË«×Ö½Ú×Ö·û£¬±ÈÈ纺×Ö
&nbs ......
http://www.oracle.com/technology/global/cn/pub/notes/technote_php_instant.html
Ϊ Linux ºÍ Windows °²×° PHP ºÍ Oracle 10g Instant Client
×÷ÕߣºChristopher Jones£¬¼×¹ÇÎĹ«Ë¾µÄ×Éѯ¼¼ÊõÈËÔ±
·¢²¼ÈÕÆÚ£º2004 Äê 12 ÔÂ
Oracle 10g Instant Client£¨Ãâ·ÑÏÂÔØ£©ÊÇPHP ÓëÔ¶³Ì Oracle Êý¾Ý¿âÁ¬½ÓµÄ×î¼òµ¥·½Ê½£¬ËüÖ»ÐèÒª°²×°Èý¸ö¿â¡£
PHP ·ÃÎÊ Oracle µÄµ±Ç° API ËùʹÓÃµÄ Instant Client ¿â³Æ×÷ OCI8.£¨´Ë C ½Ó¿ÚµÄÃû³Æ×îÔçÊÇÔÚ Oracle8 ÖÐÒýÈëµÄ¡££©PHP Oracle 8 º¯Êý ¿ÉÒÔÖ±½Óµ÷Óà Oracle 8.1.7¡¢9.x »ò 10.x£¬»òÕßÒ²¿ÉÒÔΪÁË·½±ãÆð¼û£¬Ê¹ÓÿÉÑ¡µÄ³éÏóÀ࣬Èç PEAR MDB2 ºÍ ADOdb¡£
Instant Client Ò²¿ÉÒÔʹÓÃÀÏ°æ±¾µÄ PHP“oracle”À©Õ¹£¬µ«Ëüµ÷Óò»ÔÞ³ÉʹÓÃµÄ Oracle API¡£PHP ½ç»ò Oracle ½¨Ò鲻ҪʹÓôËÀ©Õ¹½øÐÐеĿª·¢¡£
ÒªÔÚ Apache ÉϽ« Instant Client Óë PHP 4 »ò Á¬Óã¬Çë×ñÑÒÔϲ½Öè¡£ÐèÒªÒ»¸öÏÖÓÐµÄ Oracle Êý¾Ý¿â£»Instant Client ²»Ìṩ Oracle Êý¾Ý¿â¡£Í¨³£Çé¿öÏ£¬´ËÊý¾Ý¿â½«Î»ÓÚÆäËû¼ÆËã»úÉÏ¡£Èç¹ûÊý¾Ý¿âλÓÚ±¾µØ£¬Ôò Oracle ×é¼þÒ»°ãÔçÒÑ¿ÉÓ㬴Ӷø²»ÐèÒª Instant Client¡£
Èí¼þÐèÇó£º
Èí¼þ
¸½×¢
Oracle Instant Client ......
http://www.oracle.com/technology/global/cn/pub/notes/technote_php_instant.html
Ϊ Linux ºÍ Windows °²×° PHP ºÍ Oracle 10g Instant Client
×÷ÕߣºChristopher Jones£¬¼×¹ÇÎĹ«Ë¾µÄ×Éѯ¼¼ÊõÈËÔ±
·¢²¼ÈÕÆÚ£º2004 Äê 12 ÔÂ
Oracle 10g Instant Client£¨Ãâ·ÑÏÂÔØ£©ÊÇPHP ÓëÔ¶³Ì Oracle Êý¾Ý¿âÁ¬½ÓµÄ×î¼òµ¥·½Ê½£¬ËüÖ»ÐèÒª°²×°Èý¸ö¿â¡£
PHP ·ÃÎÊ Oracle µÄµ±Ç° API ËùʹÓÃµÄ Instant Client ¿â³Æ×÷ OCI8.£¨´Ë C ½Ó¿ÚµÄÃû³Æ×îÔçÊÇÔÚ Oracle8 ÖÐÒýÈëµÄ¡££©PHP Oracle 8 º¯Êý ¿ÉÒÔÖ±½Óµ÷Óà Oracle 8.1.7¡¢9.x »ò 10.x£¬»òÕßÒ²¿ÉÒÔΪÁË·½±ãÆð¼û£¬Ê¹ÓÿÉÑ¡µÄ³éÏóÀ࣬Èç PEAR MDB2 ºÍ ADOdb¡£
Instant Client Ò²¿ÉÒÔʹÓÃÀÏ°æ±¾µÄ PHP“oracle”À©Õ¹£¬µ«Ëüµ÷Óò»ÔÞ³ÉʹÓÃµÄ Oracle API¡£PHP ½ç»ò Oracle ½¨Ò鲻ҪʹÓôËÀ©Õ¹½øÐÐеĿª·¢¡£
ÒªÔÚ Apache ÉϽ« Instant Client Óë PHP 4 »ò Á¬Óã¬Çë×ñÑÒÔϲ½Öè¡£ÐèÒªÒ»¸öÏÖÓÐµÄ Oracle Êý¾Ý¿â£»Instant Client ²»Ìṩ Oracle Êý¾Ý¿â¡£Í¨³£Çé¿öÏ£¬´ËÊý¾Ý¿â½«Î»ÓÚÆäËû¼ÆËã»úÉÏ¡£Èç¹ûÊý¾Ý¿âλÓÚ±¾µØ£¬Ôò Oracle ×é¼þÒ»°ãÔçÒÑ¿ÉÓ㬴Ӷø²»ÐèÒª Instant Client¡£
Èí¼þÐèÇó£º
Èí¼þ
¸½×¢
Oracle Instant Client ......
http://www.builder.com.cn/2007/1027/583048.shtml
ÔÚphp3.0ÒÔÉÏ°æ±¾ÖУ¬phpÄÚÖÃÁ˼¸ºõÄ¿Ç°ËùÓеÄÊý¾Ý¿â´¦Àíº¯Êý£¬°üÀ¨Oracle;ÔÚ±¾ÎÄÖÐÎÒÃÇͨ¹ýÒ»¸öʵÀýÀ´½éÉÜÁËÈçºÎʹÓÃÕâЩº¯ÊýÀ´²Ù×÷OracleÊý¾Ý¿â¡£
PHPÌṩÁË2´óÀàAPI(Ó¦ÓóÌÐò½Ó¿Ú)À´²Ù×÷OracleÊý¾Ý¿â¡£Ò»¸öÊDZê×¼µÄOracle´¦Àíº¯Êý(ORA) ÁíÒ»¸öÊÇOracle 8µ÷Óýӿں¯Êý(OCI8). ºóÕßÖ»ÄÜÔÚOracle 7»ò8°æ±¾ÉÏʹÓᣠÓÉÓÚOCI8 ÌṩÁ˺ܶàÓÅ»¯Ñ¡ÏÒò´ËÖ»ÒªÓпÉÄܾÍÓ¦¸Ã²ÉÓà OCI8 ½Ó¿Ú¡£ÕâÀïÎÒÃÇ·Ö±ðÓÃÕâ¶þÖÖº¯Êý¼¯½øÐÐÁËÑÝʾ¡£
Ê×Ïȱ¾ÎĵÄÇ°Ìá¼ÙÉèÄãÒѾװºÃÁË OracleÊý¾Ý¿â»·¾³ ºÍ PHP ¿ª·¢»·¾³. Èç¹û²»¶®Ò²Ã»¶à´ó¹Øϵ£¬ÍøÉÏÓкܶàÏà¹ØµÄºÃÎÄÕ¿ÉÒԲο¼¡£
µÚÒ»²½£º´´½¨ Ò»¸öʵÑéÓõÄÊý¾Ý¿â
Õâ¸öÎÊÌâÄã¿ÉÒÔÇëÄãµÄÊý¾Ý¿â¹ÜÀíÔ±»ò²Î¿¼OracleÓû§ÊֲᴦÀí£¬ÕâÀï²»Ôٶི
Óà ORA ½¨Á¢Êý¾Ý±í
¼´Ê¹ÄãÒѾ´´½¨ºÃÁËÊý¾Ý±í£¬Ò²Çë¿´¿´±¾¶ÎÎÄ×Ö¡£Ëü¿ÉÒÔ¸æËßÄãÈçºÎÓÃPHP+SQLµÄ¼¼Êõ²Ù×÷Oracle
ÔÚ±¾ÀýÖÐÎÒÃÇ´´½¨ÁËÒ»¸öÓÃÓÚ´æ·Å¸öÈËemailµÄÊý¾Ý±í
Ïà¹ØPHP´úÂë:
PutEnv("ORACLE_SID=ORASID");
$connection = Ora_Logon ("username", "password");
if ($connection == false){
echo Ora_ErrorCode($connect ......
http://www.builder.com.cn/2007/1027/583048.shtml
ÔÚphp3.0ÒÔÉÏ°æ±¾ÖУ¬phpÄÚÖÃÁ˼¸ºõÄ¿Ç°ËùÓеÄÊý¾Ý¿â´¦Àíº¯Êý£¬°üÀ¨Oracle;ÔÚ±¾ÎÄÖÐÎÒÃÇͨ¹ýÒ»¸öʵÀýÀ´½éÉÜÁËÈçºÎʹÓÃÕâЩº¯ÊýÀ´²Ù×÷OracleÊý¾Ý¿â¡£
PHPÌṩÁË2´óÀàAPI(Ó¦ÓóÌÐò½Ó¿Ú)À´²Ù×÷OracleÊý¾Ý¿â¡£Ò»¸öÊDZê×¼µÄOracle´¦Àíº¯Êý(ORA) ÁíÒ»¸öÊÇOracle 8µ÷Óýӿں¯Êý(OCI8). ºóÕßÖ»ÄÜÔÚOracle 7»ò8°æ±¾ÉÏʹÓᣠÓÉÓÚOCI8 ÌṩÁ˺ܶàÓÅ»¯Ñ¡ÏÒò´ËÖ»ÒªÓпÉÄܾÍÓ¦¸Ã²ÉÓà OCI8 ½Ó¿Ú¡£ÕâÀïÎÒÃÇ·Ö±ðÓÃÕâ¶þÖÖº¯Êý¼¯½øÐÐÁËÑÝʾ¡£
Ê×Ïȱ¾ÎĵÄÇ°Ìá¼ÙÉèÄãÒѾװºÃÁË OracleÊý¾Ý¿â»·¾³ ºÍ PHP ¿ª·¢»·¾³. Èç¹û²»¶®Ò²Ã»¶à´ó¹Øϵ£¬ÍøÉÏÓкܶàÏà¹ØµÄºÃÎÄÕ¿ÉÒԲο¼¡£
µÚÒ»²½£º´´½¨ Ò»¸öʵÑéÓõÄÊý¾Ý¿â
Õâ¸öÎÊÌâÄã¿ÉÒÔÇëÄãµÄÊý¾Ý¿â¹ÜÀíÔ±»ò²Î¿¼OracleÓû§ÊֲᴦÀí£¬ÕâÀï²»Ôٶི
Óà ORA ½¨Á¢Êý¾Ý±í
¼´Ê¹ÄãÒѾ´´½¨ºÃÁËÊý¾Ý±í£¬Ò²Çë¿´¿´±¾¶ÎÎÄ×Ö¡£Ëü¿ÉÒÔ¸æËßÄãÈçºÎÓÃPHP+SQLµÄ¼¼Êõ²Ù×÷Oracle
ÔÚ±¾ÀýÖÐÎÒÃÇ´´½¨ÁËÒ»¸öÓÃÓÚ´æ·Å¸öÈËemailµÄÊý¾Ý±í
Ïà¹ØPHP´úÂë:
PutEnv("ORACLE_SID=ORASID");
$connection = Ora_Logon ("username", "password");
if ($connection == false){
echo Ora_ErrorCode($connect ......