1.PHP×Ö·û´®²Ù×÷³£Óõķ½·¨
php´®Öл¹ÓÐÒ»¸öÌØÊâµÄ»¨À¨ºÅ²Ù×÷·û¡£µ±ÓÃË«ÒýºÅÖ¸¶¨×Ö·û´®Ê±£¬ÆäÖеıäÁ¿»á±»½âÎö¡£ÔÚË«ÒýºÅÖеĴ®ÖÐÈç¹ûÓöµ½$£¬½âÎöÆ÷»á¾¡¿ÉÄÜ¶àµØÈ¡µÃºóÃæµÄ×Ö·ûÒÔ×é³ÉÒ»¸öºÏ·¨µÄ±äÁ¿Ãû£¬Èç¹ûÏë±íʾָ¶¨Ãû×ֵĽáÊø£¬Óû¨À¨ºÅ°Ñ±äÁ¿ÃûÀ¨ÆðÀ´¡£Çë¿´ÒÔÏ´úÂ룺
<?php
$beer = 'heineken';
echo "he drank some $beers"; //Êä³ö"he drank some"
echo "he drank some ${beer}s";//Êä³ö"he drand some hinekens"
$arr = array('first'=>'here','second'=>'there');
echo "{$arr['first']} is fine."; //Êä³ö"here is fine"
?>
»¨À¨ºÅµÄÁíÒ»¸öÓ÷¨ÊÇ£¬ÓÃÓÚÈ¡³ö×Ö·û´®ÖеÄij¸öÌØ¶¨×Ö·û£¬¼´Í¨¹ýÔÚ×Ö·û´®Ö®ºóÓû¨À¨ºÅÖ¸¶¨×Ö·û´ÓÁ㿪ʼµÄÆ«ÒÆÁ¿À´·ÃÎÊ¡£ÈçÉÏÀýÖÐ"$beer"ÖеĵÚÈý¸ö×Ö·û"i"¿ÉÒÔÈ¡³ö£º"$beer{2}".
ʹÓÓord()"ºÍ"chr()"º¯Êý¿ÉÒÔʵÏÖ×Ö·û±àÂëºÍ×Ö·ûÖ®¼äµÄת»»¡£Èç"ord('A')"µÃÕûÊýÖµ65£»"chr(65)"µÃ×Ö·û"A"¡£
ÒÔÏÂÁгöÁËһЩ³£ÓõĴ®²Ù×÷º¯ÊýµÄ×÷Óá£
->trim()º¯Êý£ºÈ¥³ý´®Í·Î²µÄ¿Õ°××Ö·û¡£
->strtolower()º¯Êý£º½«´®×ªÎªÐ¡Ð´¡£
->strtoupper()º¯Êý£º½«´®×ªÎª´óд¡£
->ucfirst()º¯Êý£º ½ ......
¡¡¡¡PHPºËÐÄ¿ª·¢ÕßAndrei ZmievskiÔÚ×î½ü¾ÙÐеÄ2009 Zend/PHP»áÒéµÄÖ÷Ìâ·¢ÑÔÖÐÌá³ö£º“ÔÚ½ÓÏÂÀ´µÄPHP6ÖØÒªÉý¼¶ÖУ¬½«Í¨¹ýÖ§³ÖUnicodeÀ´°ïÖú¿ª·¢ÕßÃÇд³öÄܹ»²¿Êðµ½¶à¸ö²»Í¬ÓïÑÔÊг¡µÄÓ¦ÓóÌÐò¡£”
¡¡¡¡ÉÌÒµ¿ª·¢ÖÐÈç¹ûÖ»ÊÇ¿ª·¢ÎªÌØÓïÑÔÊг¡µÄÓ¦ÓóÌÐò£¬¾Í»áʧȥÆäËûµØ·½µÄÉÌÒµ»ú»á¡£ÔçÔÚ2006Äê4Ô£¬Andrei Zmievski¾ÍÌá³öδÀ´ÐèÒªÖ§³ÖUnicode£¬¶øÇÒËûÈÏΪÕâ¼þÊÂÔç¾ÍÓ¦¸Ã×öÁË¡£ËùνUnicode¾ÍÊDz»ÂÛʲôƽ̨£¬Ê²Ã´ÓïÑÔ£¬¶¼Ê¹ÓÃͳһµÄ±àÂ룬¶ÔÓÚPHP6£¬°üÀ¨stringÀàÐÍÔÚÄÚ£¬¶¼½«ÊÇUnicodeÄÚÖõġ£
¡¡¡¡PHP6µÄUnicodeʹµÃд³öÄÜ´¦Àí¸÷ÖÖÓïÑԺͱàÂëµÄÓ¦ÓóÌÐò¸üÈÝÒ×£¬±ÈÈçºÜÈÝÒ׾ͿÉÒÔд³öÒ»¸öͬʱ֧³ÖÖС¢ÈÕ¡¢Ó¢ÎĵÄÓ¦ÓóÌÐò£¬ÒÔÍ¬Ê±Ãæ¶ÔÀ´×ÔÖйú¡¢ÈÕ±¾ºÍÓ¢Óï¹ú¼ÒµÄÓû§¡£
¡¡¡¡PHPÔöÇ¿Á˹ú¼Ê»¯ÊǼþÒ»Ö±ÁîÈËÆÚ´ý£¬ÈÃÈ˸ßÐ˵ÄÊÂÇé£¬ÌØ±ðÊǶÔÄÇЩ²»ÊÇÃÀ¹úºÍÓ¢¹ú±¾ÍÁ³öÉúµÄÈí¼þ¿ª·¢ÕߺÍʹÓÃPHPÍøÕ¾Ìṩ·þÎñµÄÆóÒµÖ÷£¬°üÀ¨³ÖÐøÔö³¤µÄÖйúÍâóÆóÒµÕ¾µã¡£Ò»Ð©ÌṩPHPÄÚÈݹÜÀíϵͳµÄ³§ÉÌÒ²·´Ó³Ä¿Ç°µÄPHP°æ±¾Ö§³Ö¹ú¼Ê»¯·Ç³£À§ÄÑ£¬Òò´Ë¼´½«Éý¼¶µÄ¹ú¼Ê»¯¶ÔËûÃǷdz£ÓаïÖú¡£
¡¡¡¡´ÓPHPµÄ¹Ù·½ÍøÕ¾ÉÏ¿´µ½ PHPµÄUnicode Completion Stats½ØÖÁ½ñÈÕΪ70%×óÓÒ£¬µ«PHPºËÐÄ¿ª·¢ÕßÈÔÈ»ÐèÒªÍ ......
¡¡¡¡ËäÈ»PHPÊÇWebÓ¦Óÿª·¢ÖÐ×î¹ã·ºÊ¹ÓõĻ·¾³£¬µ«Ëü»¹ÊÇÒ»¶È±»ÈÏΪÎÞÔµÆóÒµ¼¶¿ª·¢¡£InfoQ×éÖ¯ÁËÒ»¸öÐéÄâ×ù̸С×éÀ´ÌÖÂÛÓïÑÔ/ƽ̨µÄÑݱ估PHPÔÚÆóÒµ»·¾³ÏµÄÊÊÓÃÐÔ¡£
¡¡¡¡Zeev Suraski£¬Zend Technologies¹«Ë¾´´Ê¼ÈË£¬¸Ã¹«Ë¾Ö÷Òª¹Ø×¢PHPµÄ½øÕ¹¡£
¡¡¡¡Rob Nicholson£¬¸ß¼¶¼¼ÊõÑÐÔ±, ÔøÎªIBM±àд¹ý³ÌÐòÉè¼ÆÓïÑÔÔËÐÐʱ¡£
¡¡¡¡Derick Rethans£¬PHP¿ª·¢Ð¡×é³ÉÔ±£¬eZ×é¼þµÄÏîÄ¿¸ºÔðÈË¡£
¡¡¡¡InfoQ£ºÆóÒµÈí¼þµÄÒ»¸ö¹Ø¼üÔªËØ¾ÍÊÇ»¥²Ù×÷ÐÔ£¬Ëü¿ÉÒÔÈÃÈí¼þÓëÆäËûƽ̨½»»»ÐÅÏ¢¡£´ó¼Ò¶¼ÈÏΪPHPÔÚÕâ·½Ãæ±íÏÖÇ·¼Ñ£¬ÒòΪËüµÄWS-*Ö§³ÖÏà¶ÔÀ´Ëµ±È½ÏÐÂÇÒ¹¦ÄܽÏÉÙ£¬³ÉÊì¶È²»¸ß¡£¹ØÓÚÕâµãÄãÃÇÊÇÔõô¿¼ÂǵÄ?Ëü»á²»»áÓÐËù¸Ä±ä?
¡¡¡¡Zeev£ºÎÒ¾õµÃÏà±ÈWS-*¶øÑÔ£¬»¥²Ù×÷ÐÔÉæ¼°µÄÒª¸ü¼Ó¶àЩ¡£ÊÂʵÉÏ£¬ÎÒÃÇÖ»¿´µ½Á˺ÜÉٵĻùÓÚSOAPµÄWeb·þÎñÇëÇ󣬶ø¸ü¶àµÄÔòÀ´×ÔÓÚÆäËû±ê×¼£¬ÕâÖ÷ÒªÊÇÒòΪ²¿ÊðSOAPµÄ¹ý³Ì½ÏΪ¸´ÔÓ¡£PHP¼«ºÃµØÖ§³ÖÁË»¥²Ù×÷£¬²¢ÇÒΪ´ËÌṩÁ˺ܶ಻ͬµÄ½Ó¿Ú(REST£¬ÓÅÐãµÄXMLÖ§³Ö£¬SOAP£¬ÒÔ¼°Îªweb·þÎñÌṩµÄ ZF×é¼þµÈµÈ)¡£¾Ý˵PHP´Ó2004Ä꿪ʼ¾ÍΪSOAPÌṩÁ˷dz£ºÃµÄ»ù´¡Ö§³Ö£¬´Ó2006Ä꿪ʼ¾Íͨ¹ýAxis2À©Õ¹ÎªWS-*ÌṩÁ˹㷺µÄÖ§³Ö¡£ÎÒÖ»ÄÜ˵ÎÒ»¹´ÓûÓÐÅöµ½¹ýÓû§±§Ô¹È±·¦»¥²Ù×÷ÐÔµÄÇé¿ö£¬Èç¹ ......
ÎÊÌâÃèÊö£ºÒ»¸öÁ¬½ÓÔ¶³ÌÊý¾Ý¿âµÄPHP½Å±¾testdb.php£¬ÔÚä¯ÀÀÆ÷ÖÐÔËÐУºhttp://localhost/testdb.php£¬³öÏÖ´íÎó£ºCan't connect to MySQL server on '10.60.56.220' (13)£¬µ«ÊÇÔÚ±¾µØÓÃphpÃüÁîÐÐÔËÐУºphp testdb.php£¬È´Õý³£µØÁ¬ÉÏÁËÊý¾Ý¿â²¢¶Á³öÁËÆäÖеÄÊý¾Ý¡£
Ó¦ÓóÌÐò»·¾³£º±¾µØIP£º10.60.56.90£¬±¾µØµçÄÔÉϰ²×°Apache 2.2.3ºÍphp 5.1.6£¬Ô¶³ÌÊý¾Ý¿â·þÎñÆ÷IP£º10.60.56.220£¬Êý¾Ý¿âÊÇmysql 5.0.45£¬±¾µØÏµÍ³ºÍÔ¶³Ìϵͳ¶¼ÊÇcentos 5.3¡£
½â¾ö·½·¨ÍêÈ«À´×ÔÓÚhttp://www.ehow.com/how_2090983_connect-remote-database-under-selinux.html£¬½â¾ö·½·¨Òì³£¼òµ¥£¬Ö»ÐèÒªÔÚ±¾µØµçÄÔÉÏÔËÐÐÒ»ÌõÃüÁ
setsebool -P httpd_can_network_connect=1
µ±È»£¬ÒªÓÐhttp·þÎñÆ÷ÉϵÄrootȨÏÞ£¬ÒòΪֻÓÐrootÓû§²ÅÄܹÜÀíselinux¡£
¹ØÓÚselinuxµÄÏêϸ֪ʶ£¬²Î¼û
°Ù¶È°Ù¿Æ£ºhttp://baike.baidu.com/view/487687.htm
WIKI£ºhttp://en.wikipedia.org/wiki/Security-Enhanced_Linux
selinux project£ºhttp://selinuxproject.org/page/Main_Page
ÔÚhttp://docs.fedoraproject.org/selinux-managing-confined-services-guide/¿ÉÒÔÏÂÔØµ½selinuxµÄÉèÖÃÎĵµ£¬ÆäÖÐÓÐÒ»ÕÂÊÇרÃŽ²½âapacheµÄÉèÖòΠ......
Éú³É6 ~ 16λµÄÓû§ÃûÈô¸É¸ö£¬Ö÷ÒªÊÇÎı¾²Ù×÷£¬µ«ÊÇǰÌáÊÇÒªÓÐÒ»¸ö×Ö·û´®°ü¡£Ö÷Òª°üº¬Èý¸ö³ÌÐò¡£
³ÌÐòÒ»£º¸ºÔð´Ó×ÖµäÖÐËæ»úÌáÈ¡Êý¾Ý£¬Ð´ÈëÒ»¸öÐÂÎļþ¡££¨1.php£©
<?php
/* ´Ó×ÖµäÎļþÖÐÌáÈ¡Ëæ»úÖµ */
$file1 = "./Words.dic";
$file2 = "./common_pass_mini.dic";
$file3 = "./Sys_Month_Date.Dic";
$rfile = "./5.dic";
$n = 2000;
//ÌáÈ¡×Öµä
$basef = file($file1);
$extf = file($file2);
$extf2 = file($file3);
$bf_sum = (count($basef)-1);
$ef_sum = (count($extf)-1);
$ef2_sum =(count($extf2)-1);
//»ñÈ¡Ëæ»úÓû§Ãû
for ($i=0; $i<$n; $i++)
{
$bn = crand(0, $bf_sum);
$en = crand(0, $ef_sum);
$en2 = crand(0, $ef2_sum);
$name = $basef[$bn]."_".$extf[$en];
$name = str_replace("\r\n", "", $name);
$all_name[] = $name;
}
//дÈëÎļþ
$result = implode("\r\n", $all_name);
$fp = fopen($rfile, "a+") or die('Open $rfile failed');
if (fwrite($fp, $result)) {
echo 'Write user succeed!';
} else {
echo 'Write user failed';
}
//Éú³ÉËæ»úÊý×Öº¯Êý
function crand($start, $end)
{
return mt_rand($ ......
<?php
class DB
{
private $link;
function connectDB($dbhost, $dbuser, $dbpw, $dbname="", $pconnect = 1)
{
if($pconnect)
{
if(!$this->link = mysql_pconnect($dbhost, $dbuser, $dbpw))
{
$this->mysqlErrorMessage('Can not connect to MySQL');
}
}
else
{
if(!$this->link = mysql_connect($dbhost, $dbuser, $dbpw))
{
$this->mysqlErrorMessage('Can not connect to MySQL');
}
}
if(!empty($dbname))
{
mysql_select_db($dbname,$this->link);
}
mysql_query("set names 'gb2312'",$this->l ......