Ò»¡¢ÒýÂÛ
PHP,Ò»ÃÅ×î½ü¼¸ÄêÐËÆðµÄwebÉè¼Æ½Å±¾ÓïÑÔ,ÓÉÓÚËüµÄÇ¿´óºÍ¿ÉÉìËõÐÔ,½ü¼¸ÄêÀ´µÃµ½³¤×ãµÄ·¢Õ¹,phpÏà±È´«Í³µÄaspÍøÕ¾,ÔÚËÙ¶ÈÉÏÓоø¶ÔµÄÓÅÊÆ,Ïëmssqlת6ÍòÌõÊý¾ÝphpÈçÐèÒª40Ãë,asp²»ÏÂ2·ÖÖÓ.µ«ÊÇ,ÓÉÓÚÍøÕ¾µÄÊý¾ÝÔ½À´Ô½¶à,ÎÒÃÇ¿ÊÇóÄܸü¿ìËٵĵ÷ÓÃÊý¾Ý,²»±ØÒªÃ¿´Î¶¼´ÓÊý¾Ý¿âµô,ÎÒÃÇ¿ÉÒÔ´ÓÆäËûµÄµØ·½,±È·½Ò»¸öÎļþ,»òÕßij¸öÄÚ´æµØÖ·,Õâ¾ÍÊÇphpµÄ»º´æ¼¼Êõ,Ò²¾ÍÊÇCache¼¼Êõ.
¶þ¡¢·ÖÎöÉîÈë
Ò»°ãÀ´Ëµ,»º´æµÄÄ¿µÄÊǰÑÊý¾Ý·ÅÔÚÒ»¸öµØ·½È÷ÃÎʵĸü¿ìµã,ºÁÎÞÒÉÎÊ,ÄÚ´æÊÇ×î¿ìµÄ,µ«ÊÇ,¼¸°ÙMµÄÊý¾ÝÄÜÍùÄÚ´æ·Åô?Õâ²»ÏÖʵ,µ±È»,ÓеÄʱºòÁÙʱ·ÅÈç·þÎñÆ÷»º´æ,Èçob_start()Õâ¸ö»º´æÒ³Ã濪ÆôµÄ»°ÔÚ·¢ËÍÎļþÍ·Ö®Ç°Ò³ÃæÄÚÈݶ¼±»»º´æÔÚÄÚ´æÖÐ,ÖªµÀµÈÒ³ÃæÊä³ö×Ô¶¯Çå³þ»òÕߵȴýob_get_contentsµÄ·µ»Ø,»òÕß±»ob_end_cleanÏÔʾµÄÇå³ý,ÕâÔÚ¾²Ì¬Ò³ÃæµÄÉú³ÉÖÐÄܺܺõÄÀûÓÃ,ÔÚÄ£°åÖÐÄܵõ½ºÜºÃµÄÌåÏÖ,ÎÒµÄÕâÆªÎÄÕÂÉîÈëµÄÌÖÂÛÁË:̸PHPÉú³É¾²Ì¬Ò³Ãæ,ÕâÊÇÒ»ÖÖ·½Ê½,µ«ÕâÊÇÁÙʱÐÔµÄ,²»Êǽâ¾öÎÒÃÇÎÊÌâµÄºÃ·½·¨.
ÁíÍâ,ÔÚaspÖÐÓÐÒ»¶ÔÏóapplication,¿ÉÒÔ±£´æ¹«ÓõIJÎÊý,ÕâÒ²Ëãµã»º´æ,µ«ÔÚphp,ÎÒÖÁ½ñû¿´µ½¿ª·¢Õß²ú³öÕâÖÖ¶ÔÏó,µÄÈ·,û±ØÒª.asp.netµÄÒ³Ãæ»º´æ¼¼Êõ¾ÍÓõÄÊÇviewstate,¶øcache¾ÍÊÇÎļþ¹ØÁª,(²»Ò»¶¨× ......
<?php
function toFixLen($str,$len){ //¹Ì¶¨³¤¶È×Ö·û´®µÄ½ØÈ¡
if($len>=strlen($str)||!$len) return $str;
$len-=3;
$tempstr1 = substr($str,0,$len); //½ØÈ¡×Ö·û´®
$tempstr2 = preg_replace('/([\x81-\xff]+)$/ms','',$tempstr1,1); //È¥µô½áβµÄÁ¬Ðøºº×Ö×Ö·û
if(!is_int((strlen($tempstr1)-strlen($tempstr2))/2)){ //È¥µôµÄ×Ö·ûÎªÆæÊý?
$tempstr1 = substr($str,0,$len-1);
}
return $tempstr1."…";
}
?>
±¾ÎÄÀ´×ÔCSDN²©¿Í£¬×ªÔØÇë±êÃ÷³ö´¦£ºhtt ......
²Î¿¼×ÊÁÏ£º
1.
2. http://www.phpeclipse.com/wiki/Howto/XDebugAndPHPEclipse
1.ÏÂÔØXDebug http://xdebug.org/download.php
Ñ¡ÔñÓÚPHP°æ±¾Ïà¶ÔÓ¦µÄµÄ 5.2 VC6 (32 bit) ÏÂÔØ£¬¸ÄÃû³Éphp_xdebug.dllºó¸´ÖƵ½E:/APMServ5.2.6/PHP/ext/ÖÐ
2£® ÔÚphp.iniÖÐÌí¼ÓÒÔÏÂÄÚÈÝ£¬²¢½«zendµÄÆäËûÓ¦Óùصô£¨×¢Ê͵ôÆäËûzend_extension_tsÓï¾ä£©
[Xdebug]
zend_extension_ts="E:/APMServ5.2.6/PHP/ext/php_xdebug.dll"
xdebug.remote_enable=On
xdebug.remote_autostart=On
xdebug.remote_handler=dbgp
xdebug.remote_host=192.168.1.100
xdebug.remote_port=9000
xdebug.remote_mode=req
/***
xdebugÅäÖÃ
´ò¿ªphp.ini
ÔÚ×îºóÒ»ÐмÓÈëÒÔÏÂÅäÖôúÂ룬ÅäÖÃ˵Ã÷ÒѾ×öºÃ×¢ÊÍ
;ÔØÈëXdebug
zend_extension_ts="c:/php/ext/php_xdebug.dll"
;xdebugÅäÖÃ
[Xdebug]
;¿ªÆô×Ô¶¯¸ú×Ù
xdebug.auto_trace = On
;¿ªÆôÒì³£¸ú×Ù
xdebug.show_exception_trace = On
;¿ªÆôÔ¶³Ìµ÷ÊÔ×Ô¶¯Æô¶¯
xdebug.remote_autostart = On
;¿ªÆôÔ¶³Ìµ÷ÊÔ
xdebug.remote_enable = On
;ÊÕ¼¯±äÁ¿
xdebug.collect_vars = On
;ÊÕ¼¯·µ»ØÖµ
xdebug.collect_return = On
;ÊÕ¼¯²ÎÊý
xdebug.collect_p ......
phpÎļþ
<?php
mysql_connect("localhost","","");
mysql_query("set names 'gb2312'");
mysql_select_db("shop");
$sqlstr="select * from goods";
require 'smarty/libs/Smarty.class.php';
$smarty = new Smarty;//ÉèÖø÷¸öĿ¼µÄ·¾¶£¬ÕâÀïÊǰ²×°µÄÖØµã
$smarty->template_dir ="smarty/templates/templates";//ÔÚÏîÄ¿¸ùĿ¼ÏÂÃæ½¨´ËÎļþ¼Ð
$smarty->compile_dir ="smarty/templates/templates_c";
$smarty->config_dir = "smarty/templates/config";
$smarty->cache_dir ="smarty/templates/cache";
//smartyÄ£°åÓиßËÙ»º´æµÄ¹¦ÄÜ£¬Èç¹ûÕâÀïÊÇtrueµÄ»°¼´´ò¿ªcaching£¬µ«ÊÇ»áÔì³ÉÍøÒ³²»Á¢¼´¸üеÄÎÊÌ⣬µ±È»Ò²¿ÉÒÔͨ¹ýÆäËûµÄ°ì·¨½â¾ö
$smarty->caching = false;
$exec=mysql_query($sqlstr);
$rs=mysql_fetch_object($exec);
$arr=array();
$thenumber=0;
while($rs)
{
$arr2=array();
$arr2[0]=$rs->goodsname;
$arr2[1]=$rs->price;
$arr[$thenumber]=$arr2;
$rs=mysql_fetch_object($exec);
$thenumber=$thenumber+1;
}
$smarty->assign("guests",$arr); //$arrΪ¶þάÊý× ......
ÒýÓÃhttp://www.icnote.com/Mysql-php-connector/
ÓÉÓÚ¹«Ë¾µÄ·þÎñÆ÷¿ªÊ¼Ö»ÊÇÓÃÓÚjavaµÄÖ§³Ö£¬×°ÁËapache£¬mysql£¬php£¬µ«ÊÇphpµÄ°²×°Ã»ÓжÔmysql½øÐÐÖ§³Ö£¬½ñÌì¶ÔËû½øÐÐÁËÀ©Õ¹£¬¼Ç¼ÈçÏ¡£
Ê×ÏÈ£¬°²×°mysqlºÍphpµÄÁ¬½ÓÀ©Õ¹£¬ÐèÒªÒÔϰü¡£¿ÉÒÔÔÚhttp://rpmfind.net/
ÕÒµ½£¬¸ù¾Ý¸÷×Ôphp°æ±¾Ñ¡Ôñ¡£
¿ÉÒÔʹÓÃ
#rpm -qa |grep php
½øÐв鿴
php-gd-5.1.6-3.i386.rpm
php-mbstring-5.1.6-15.el5.i386.rpm
php-mysql-5.1.6-3.i386.rpm
°²×°µÄʱºò×¢Ò⣬¿ÉÄÜÉÙÁËһЩÒÀÀµ£¬ËùÒÔ£¬±ØÐë¼ÓÉÏ--nodeps(ºöÂÔÒÀÀµ)¡£
¼´£º
#rpm -ivh php-gd-5.1.6-3.i386.rpm --nodeps
È»ºó¼ì²éÏ£¬¿´µ½ÒÔÏÂÄÚÈݾÍokÁË¡£
[lee@icnote soft]# ls -l /usr/lib/php/modules/
-rwxr-xr-x 1 root root 330636 2006-10-04 gd.so
-rwxr-xr-x 1 root root 40780 2006-12-20 ldap.so
-rwxr-xr-x 1 root root 1719696 2007-09-20 mbstring.so
-rwxr-xr-x 1 root root 106220 2006-10-04 mysqli.so
-rwxr-xr-x 1 root root 49028 2006-10-04 mysql.so
-rwxr-xr-x 1 root root 23756 2006-1 ......
ÒýÓÃhttp://www.icnote.com/Mysql-php-connector/
ÓÉÓÚ¹«Ë¾µÄ·þÎñÆ÷¿ªÊ¼Ö»ÊÇÓÃÓÚjavaµÄÖ§³Ö£¬×°ÁËapache£¬mysql£¬php£¬µ«ÊÇphpµÄ°²×°Ã»ÓжÔmysql½øÐÐÖ§³Ö£¬½ñÌì¶ÔËû½øÐÐÁËÀ©Õ¹£¬¼Ç¼ÈçÏ¡£
Ê×ÏÈ£¬°²×°mysqlºÍphpµÄÁ¬½ÓÀ©Õ¹£¬ÐèÒªÒÔϰü¡£¿ÉÒÔÔÚhttp://rpmfind.net/
ÕÒµ½£¬¸ù¾Ý¸÷×Ôphp°æ±¾Ñ¡Ôñ¡£
¿ÉÒÔʹÓÃ
#rpm -qa |grep php
½øÐв鿴
php-gd-5.1.6-3.i386.rpm
php-mbstring-5.1.6-15.el5.i386.rpm
php-mysql-5.1.6-3.i386.rpm
°²×°µÄʱºò×¢Ò⣬¿ÉÄÜÉÙÁËһЩÒÀÀµ£¬ËùÒÔ£¬±ØÐë¼ÓÉÏ--nodeps(ºöÂÔÒÀÀµ)¡£
¼´£º
#rpm -ivh php-gd-5.1.6-3.i386.rpm --nodeps
È»ºó¼ì²éÏ£¬¿´µ½ÒÔÏÂÄÚÈݾÍokÁË¡£
[lee@icnote soft]# ls -l /usr/lib/php/modules/
-rwxr-xr-x 1 root root 330636 2006-10-04 gd.so
-rwxr-xr-x 1 root root 40780 2006-12-20 ldap.so
-rwxr-xr-x 1 root root 1719696 2007-09-20 mbstring.so
-rwxr-xr-x 1 root root 106220 2006-10-04 mysqli.so
-rwxr-xr-x 1 root root 49028 2006-10-04 mysql.so
-rwxr-xr-x 1 root root 23756 2006-1 ......
PHP5.0ºó£¬phpÃæÏò¶ÔÏóÌá³É¸ü¶à·½·¨£¬Ê¹µÃphp¸ü¼ÓµÄÇ¿´ó£¡£¡
һЩÔÚPHP½ÐħÊõ·½·¨µÄº¯Êý£¬ÔÚÕâÀï½éÉÜһϣºÆäʵÔÚÒ»°ãµÄÓ¦ÓÃÖУ¬ÎÒÃǶ¼ÐèÒªÓõ½ËûÃÇ£¡£¡
1.__construct() µ±ÊµÀý»¯Ò»¸ö¶ÔÏóµÄʱºò£¬Õâ¸ö¶ÔÏóµÄÕâ¸ö·½·¨Ê×Ïȱ»µ÷Óá£
Java´úÂë
class Test { function __construct() { echo "before"; } } $t = new Test();
class Test { function __construct() { echo "before"; } } $t = new Test();
Êä³öÊÇ£º
start
ÎÒÃÇÖªµÀphp5¶ÔÏóÄ£ÐÍ ºÍÀàÃûÏàͬµÄº¯ÊýÊÇÀàµÄ¹¹Ô캯Êý£¬ÄÇôÈç¹ûÎÒÃÇͬʱ¶¨Òå¹¹Ô캯ÊýºÍ__construct()·½·¨µÄ»°,php5»áĬÈϵ÷Óù¹Ô캯Êý¶ø²»»áµ÷ÓÃ__construct()º¯Êý£¬ËùÒÔ__construct()×÷ΪÀàµÄĬÈϵĹ¹Ô캯Êý
2.__destruct() µ±É¾³ýÒ»¸ö¶ÔÏó»ò¶ÔÏó²Ù×÷ÖÕÖ¹µÄʱºò£¬µ÷Óø÷½·¨¡£
Java´úÂë
class Test { function __destruct() { echo "end"; } } $t = new Test();½«»áÊä³öend
class Test { function __destruct() { echo "end"; } } $t = new Test();½«»áÊä³öe ......