˵¾äʵ»°,дÕâ¸öÕæ¹»ÎÞÁĵÄ.±¾À´¿´ÁËijλ´óϺµÄÀàËÆÎÄÕÂ,¸¹·ÌÁ˼¸¾äÒ²¾ÍËãÁË.µ«ÊÇ×òÌìÍíÉÏÓиö¿Í»§ÄÃ×ÅÕâÆªÎÄÕÂÎÊÎÒ: ÄãѾµÄ×Ô¼º×ö
Íâ°ü,ÄãË㼸¶ÎPHPer?Ëì¸Ð¾õÄÇÆªÎÄÕ¶ÔijЩ°ëͨ²»Í¨Ö®È˵ÄÎóµ¼Ö®Éî.ÎÞ·¨,Ö»ÓÐд´ËÎÄÕ±íÃ÷ÎÒ¶ÔPHPerµÄË®Æ½Çø·ÖµÄÁ¢³¡.
¹ØÓÚ¾ßÌåÊÕÈëˮƽ,×ܵÄÀ´ËµÒòΪÕ⼸ÄêPHPÅàѵ°àµÄ¼Ó¶à,´óÁ¿PHPÐÂÊÖ¿ªÊ¼¸ãÂÒÊг¡,ËùÒÔºÜÄÑ˵Çå.ÔÚ´ËóȻд³öÓÐÎóµ¼Ö®ÏÓ.¶øÇÒÊÕÈëˮƽºÍËùÔÚµØÇøÓкܴóµÄ¹ØÏµ,ÀýÈçÖØÇìµÄͬˮƽPHPer¿Ï¶¨±È±±¾©µÄ¹¤×ʵÍ.µ«ÔÚÖØÇìÊ¡×ŵ㻨Ǯ·´¶ø±È±±¾©Ê£µÄ¹¤×ʶà.
²»¹ý,PHPµÄÊг¡È·ÊµÔÚÖð²½»ìÂÒ,ĿǰÒòΪÅàѵ°à/´óѧѡÐ޿εÈÔÒò,³õ¼¶PHPer´óÁ¿Ôö¼Ó.¹Ê³õ¼¶PHPerµÄ¹¤×ÊÊг¡Óв½asp³ÊÏְײ˼۵ÄÇ÷ÊÆ
.µ«¸ß¼¶PHPerÈÔÈ»¼«ÎªÈ±·¦.
µ«ÎÒÈÏΪ:¹¤×ÊˮƽºÍʵ¼Ê¼¼Êõˮƽ»ù±¾³ÉÕý±È,Ŀǰҵ½çÐÅϢ͸Ã÷,ÇÒµ½Ä¿Ç°Î»Öø߶ËPHPerµÄȦ×ÓÈÔÈ»¼«Ð¡.´ó¼Ò½»»»ÐÅÏ¢¼«Îª·½±ã.Èç¹ûPHPˮƽ²»¸ß,µ«Äõ½¸ß¹¤×ʵĸÅÂʲ»¸ß.¼´Ê¹PHP¼¼Êõ²îÄÜÄõ½¸ß¹¤×ÊÒ²²»Äܳ¤¾Ã.
ÒÔϹ۵ãÊôÓÚÎÒµÄÒ»¼ÒÖ®ÑÔ,Äú²»ÔÞͬ¿ÉÒÔÅÄש,¿ÉÒÔ¸øÎÒ·¢ÐÅÌÖÂÛ,ÎÒµÄmailÊÇ jstel && 126.com (&& »»³É @) ArainÊÕ . qq :
155313 7 2 4 . ĿǰÎÒÖ°Òµ×öÍøÕ¾ÏîÄ¿Íâ°ü,Ò²¾ÍÊÇ´ó¼ÒË ......
[PHP]
;;;;;;;;;;;;;;;;;;;
; About php.ini ;
;;;;;;;;;;;;;;;;;;;
; PHP's initialization file, generally called php.ini, is responsible for
; configuring many of the aspects of PHP's behavior.
; PHP attempts to find and load this configuration from a number of locations.
; The following is a summary of its search order:
; 1. SAPI module specific location.
; 2. The PHPRC environment variable. (As of PHP 5.2.0)
; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0)
; 4. Current working directory (except CLI)
; 5. The web server's directory (for SAPI modules), or directory of PHP
; (otherwise in Windows)
; 6. The directory from the --with-config-file-path compile time option, or the
; Windows directory (C:\windows or C:\winnt)
; See the PHP docs for more specific information.
; http://php.net/configuration.file
; The syntax of the file is extremely simple. Whitespace and Lines
; beginning with a semicolon are silently ignored (as you prob ......
¡¡¡¡»¥ÁªÍøµÄ½ñÌ죬AJAXÒѾ²»ÊÇʲôİÉúµÄ´Ê»ãÁË¡£ËµÆðAJAX£¬¿ÉÄÜ»áÁ¢¼´ÏëÆðÒòRSS¶øÐËÆðµÄXML¡£XMLµÄ½âÎö£¬¿ÖÅÂÒѾ²»ÊÇʲôÄÑÌâÁË£¬ÌرðÊÇPHP5£¬´óÁ¿µÄXML½âÎöÆ÷µÄÓ¿ÏÖ£¬Èç×îÇáÁ¿¼¶µÄSimpleXML¡£²»¹ý¶ÔÓÚAJAXÀ´Ëµ£¬XMLµÄ½âÎö¸üÇãÏòÓÚǰ̨JavascriptµÄÖ§³Ö¶È¡£ÎÒÏëËùÓнâÎö¹ýXMLµÄÈË£¬¶¼»áÒòÊ÷ºÍ½Úµã¶øÍ·´ó¡£²»¿É·ñÈÏ£¬XMLÊǺܲ»´íµÄÊý¾Ý´æ´¢·½Ê½£¬µ«ÊÇÆäÁé»îǡǡÔì³ÉÁËÆä½âÎöµÄÀ§ÄÑ¡£µ±È»£¬ÕâÀïËùÖ¸µÄÀ§ÄÑ£¬ÊÇÏà¶ÔÓÚ±¾ÎĵÄÖ÷½Ç££JSON¶øÑÔ¡£
¡¡¡¡JSONΪºÎÎÎҾͲ»Öظ´¸ÅÄîÁË¡£Í¨Ë×µÄ˵£¬ËüÊÇÒ»ÖÖÊý¾ÝµÄ´æ´¢¸ñʽ£¬¾ÍÏñPHPÐòÁл¯ºóµÄ×Ö·û´®Ò»Ñù¡£ËüÊÇÒ»ÖÖÊý¾ÝÃèÊö¡£±ÈÈçÎÒÃǽ«Ò»¸öÊý×éÐòÁл¯ºó´æ·Å£¬¾Í¿ÉÒÔºÜÈÝÒ׵ķ´ÐòÁл¯ºóÓ¦Óá£JSONÒ²ÊÇÈç´Ë£¬Ö»²»¹ýËû´î½¨µÄÊǿͻ§¶ËJavascriptºÍ·þÎñ¶ËPHPµÄ½»»¥ÇÅÁº¡£ÎÒÃÇÓÃPHPÉú³ÉJSONºóµÄ×Ö·û´®£¬È»ºó°ÑÕâ¸ö×Ö·û´®´«¸øÇ°Ì¨Javascript£¬Javascirpt¾Í¿ÉÒÔºÜÈÝÒ׵Ľ«Æä·´JSONÈ»ºóÓ¦Óá£ËµÍ¨Ë׵㣬ËüÕæµÄºÜÏñÊý×é¡£
¡¡¡¡ÑÔ¹éÕý´«£¬ÈçºÎʹÓÃJSON¡£PHP5.2¿ªÊ¼ÄÚÖÃÁËJSONµÄÖ§³Ö¡£µ±È»£¬Èç¹ûµÍÓÚÕâ¸ö°æ±¾µÄ»°£¬ÄÇôÊÐÃæÉÏÓкܶàPHP°æ±¾µÄʵÏÖ£¬Ëæ±ãÏÂÒ»¸öÓþÍOKÀ²¡£ÏÖÔÚÖ÷ÒªÊÇ˵˵PHPÄÚÖÃÖ§³ÖµÄJSON¡£ºÜ¼òµ¥£¬Á½¸öº¯Êý£ºjson_encodeºÍjs ......
1¡¢Ê×ÏÈͨ¹ý´úÂëÀ´¿´¿´±íÏó£º
<?php
session_start();
if (empty($_SESSION['count'])) {
$_SESSION['count'] = 1;
} else {
$_SESSION['count']++;
}
var_dump($_SESSION);
var_dump(htmlspecialchars(SID));
exit;
ÒÔÉÏÒ³Ãæ´òÓ¡µÄ½á¹ûΪ£º
array(1) {
["count"]=>
int(1)
}
string(36) "PHPSESSID=l8rv16rt3f8kj444se87qmmer5"
²é¿´ä¯ÀÀÆ÷µÄcookie£¬¿ÉÒÔ¿´µ½ÓÐPHPSESSID=l8rv16rt3f8kj444se87qmmer5µÄ¼üÖµ¶Ô¡£
2¡¢È»ºó²é¿´phpµÄÎĵµ£¬http://cn2.php.net/manual/en/session.idpassing.php£º
There are two methods to propagate a session id:
Cookies
URL parameter
ĬÈÏÇé¿öÏ£¬Ê¹ÓÃcookieµÄ·½Ê½±£´æ¡£
3¡¢phpÖÐsessionºÍcookieµÄÇø±ð
session±£´æÔÚ·þÎñÆ÷£¬Ò»°ãÒÔÎļþÐÎʽ±£´æ£»¶øcookie±£´æÔÚ¿Í»§¶ËµÄÁÙʱÎļþÖС£
sessionÖб£´æµÄÊÇÊý×飬¶øcookieÖб£´æµÄÊÇ×Ö·û´®¡£ ......
phpÖÐʵÏÖ¶àÏß³Ì
PHPÖÐʵÏÖ¶àÏß³Ì? ¿´µ½Õâ¸ö±êÌâ ÄãÒ»¶¨ÒÔΪÎÒ·èÁË..µ«ÊÇÊÂʵÉÏÎÒÕæµÄÕâô×öÁË.
ÏÂÃæÊÇÎÒµÄһЩ×ö·¨ ÒѾʵÑé¹ý. ȷʵ¿ÉÒÔµÄ.
ÎÒÃÇÖªµÀPHP±¾ÉíÊDz»Ö§³Ö¶àÏß³ÌµÄ µ«ÊÇÎÒÃǵÄWEB·þÎñÆ÷ÊÇÖ§³Ö¶àÏ̵߳Ä.
Ò²¾ÍÊÇ˵¿ÉÒÔͬʱÈöàÈËÒ»Æð·ÃÎÊ. ÕâÒ²ÊÇÎÒÔÚPHPÖÐʵÏÖ¶àÏ̵߳Ļù´¡.
¼ÙÉèÎÒÃÇÏÖÔÚÔËÐеÄÊÇa.phpÕâ¸öÎļþ. µ«ÊÇÎÒÔÚ³ÌÐòÖÐÓÖÇëÇóWEB·þÎñÆ÷ÔËÐÐÁíÒ»¸öb.php
ÄÇôÕâÁ½¸öÎļþ½«ÊÇͬʱִÐеÄ.
(PS: Ò»¸öÁ´½ÓÇëÇó·¢ËÍÖ®ºó WEB·þÎñÆ÷¾Í»áÖ´ÐÐËü ¶ø²»¹Ü¿Í»§¶ËÊÇ·ñÒѾÍ˳ö)
ÓÐЩʱºò ÎÒÃÇÏëÔËÐеIJ»ÊÇÁíÒ»¸öÎļþ ¶øÊDZ¾ÎļþÖеÄÒ»²¿·Ö´úÂë.¸ÃÔõô°ìÄØ?
Æäʵ¿ÉÊÇͨ¹ý²ÎÊýÀ´¿ØÖÆa.phpÀ´ÔËÐÐÄÄÒ»¶Î³ÌÐò.
ÏÂÃæ¿´Ò»¸öÀý×Ó:
//a.php
<?php
function runThread()
{
$fp = fsockopen('localhost' 80 $errno $errmsg);
fputs($fp "GET /a.php?act=b\r\n\r\n"); //ÕâÀïµÄµÚ¶þ¸ö²ÎÊýÊÇHTTPÐÒéÖй涨µÄÇëÇóÍ·
&n ......
<?php
/**
* ʹÓù²ÏíÄÚ´æµÄPHPÑ»·ÄÚ´æ¶ÓÁÐʵÏÖ
* Ö§³Ö¶à½ø³Ì, Ö§³Ö¸÷ÖÖÊý¾ÝÀàÐ͵Ĵ洢
* ×¢: Íê³ÉÈë¶Ó»ò³ö¶Ó²Ù×÷,¾¡¿ìʹÓÃunset(), ÒÔÊÍ·ÅÁÙ½çÇø
*
* @author wangbinandi@gmail.com
* @created 2009-12-23
*/
class SHMQueue
{
private $maxQSize = 0; // ¶ÓÁÐ×î´ó³¤¶È
private $front = 0; // ¶ÓÍ·Ö¸Õë
private $rear = 0; // ¶ÓβָÕë
private $blockSize = 256; // ¿éµÄ´óС(byte)
private $memSize = 25600; // ×î´ó¹²ÏíÄÚ´æ(byte)
private $shmId = 0;
private $filePtr = './shmq.ptr';
private $semId = 0;
public function __construct()
{
$shmkey = ftok(__FILE__, 't');
$this->shmId = shmop_open($shmkey, "c", 0644, $this->memSize );
$this->maxQSize = $this->memSize / $this->blockSize;
// Éê請Ò»¸öÐźÅÁ¿
$this->semId = sem_get($shmkey, 1);
sem_acquire($this->semId); // ÉêÇë½øÈëÁÙ½çÇø
$this->init();
}
private function init()
{
if ( file_exists($this->filePtr) ){
$content ......
<?php
/**
* ʹÓù²ÏíÄÚ´æµÄPHPÑ»·ÄÚ´æ¶ÓÁÐʵÏÖ
* Ö§³Ö¶à½ø³Ì, Ö§³Ö¸÷ÖÖÊý¾ÝÀàÐ͵Ĵ洢
* ×¢: Íê³ÉÈë¶Ó»ò³ö¶Ó²Ù×÷,¾¡¿ìʹÓÃunset(), ÒÔÊÍ·ÅÁÙ½çÇø
*
* @author wangbinandi@gmail.com
* @created 2009-12-23
*/
class SHMQueue
{
private $maxQSize = 0; // ¶ÓÁÐ×î´ó³¤¶È
private $front = 0; // ¶ÓÍ·Ö¸Õë
private $rear = 0; // ¶ÓβָÕë
private $blockSize = 256; // ¿éµÄ´óС(byte)
private $memSize = 25600; // ×î´ó¹²ÏíÄÚ´æ(byte)
private $shmId = 0;
private $filePtr = './shmq.ptr';
private $semId = 0;
public function __construct()
{
$shmkey = ftok(__FILE__, 't');
$this->shmId = shmop_open($shmkey, "c", 0644, $this->memSize );
$this->maxQSize = $this->memSize / $this->blockSize;
// Éê請Ò»¸öÐźÅÁ¿
$this->semId = sem_get($shmkey, 1);
sem_acquire($this->semId); // ÉêÇë½øÈëÁÙ½çÇø
$this->init();
}
private function init()
{
if ( file_exists($this->filePtr) ){
$content ......