(×ªÔØ)ÓÅ»¯PHP´úÂëµÄ40Ìõ½¨Òé
ÔÎÄÁ´½Ó£ºhttp://webdev.csdn.net/page/58438f5e-704e-4e80-bdbd-7d06e8ecceb9#
40 Tips for optimizing your php Code
ÔÎĵØÖ·£ºhttp://reinholdweber.com/?p=3
Ó¢ÎİæÈ¨¹éReinhold WeberËùÓУ¬ÖÐÒëÎÄ×÷Õßyangyang£¨aka davidkoree£©¡£Ë«Óï°æ¿ÉÓÃÓÚ·ÇÉÌÒµ´«²¥£¬µ«Ðë×¢Ã÷Ó¢Îİæ×÷Õß¡¢°æÈ¨ÐÅÏ¢£¬ÒÔ¼°ÖÐÒëÎÄ×÷Õß¡£·ÒëˮƽÓÐÏÞ£¬Çë¹ã´óPHPerÖ¸Õý¡£
1. If a method can be static, declare it static. Speed improvement is by a factor of 4. Èç¹ûÒ»¸ö·½·¨¿É¾²Ì¬»¯£¬¾Í¶ÔËü×ö¾²Ì¬ÉùÃ÷¡£ËÙÂÊ¿ÉÌáÉýÖÁ4±¶¡£
2. echo is faster than print. echo ±È print ¿ì¡£
3. Use echo’s multiple parameters instead of string concatenation. ʹÓÃechoµÄ¶àÖØ²ÎÊý£¨Òë×¢£ºÖ¸ÓöººÅ¶ø²»ÊǾäµã£©´úÌæ×Ö·û´®Á¬½Ó¡£
4. Set the maxvalue for your for-loops before and not in the loop. ÔÚÖ´ÐÐforÑ»·Ö®Ç°È·¶¨×î´óÑ»·Êý£¬²»ÒªÃ¿Ñ»·Ò»´Î¶¼¼ÆËã×î´óÖµ¡£
5. Unset your variables to free memory, especially large arrays. ×¢ÏúÄÇЩ²»ÓõıäÁ¿ÓÈÆäÊÇ´óÊý×飬ÒÔ±ãÊÍ·ÅÄÚ´æ¡£
6. Avoid magic like __get, __set, __autoload ¾¡Á¿±ÜÃâʹÓÃ__get£¬__set£¬__autoload¡£
7. require_once() is expensive require_once()´ú¼Û°º¹ó¡£
8. Use full paths in includes and requires, less time spent on resolving the OS paths. ÔÚ°üº¬ÎļþʱʹÓÃÍêÕû·¾¶£¬½âÎö²Ù×÷ϵͳ·¾¶ËùÐèµÄʱ¼ä»á¸üÉÙ¡£
9.
If you need to find out the time when the script started executing,
$_SERVER[’REQUEST_TIME’] is preferred to time()
Èç¹ûÄãÏëÖªµÀ½Å±¾¿ªÊ¼Ö´ÐУ¨Òë×¢£º¼´·þÎñÆ÷¶ËÊÕµ½¿Í»§¶ËÇëÇ󣩵Äʱ¿Ì£¬Ê¹ÓÃ$_SERVER[‘REQUEST_TIME’]ÒªºÃÓÚtime()¡£
10. See if you can use strncasecmp, strpbrk and stripos instead of regex. ¼ì²éÊÇ·ñÄÜÓÃstrncasecmp£¬strpbrk£¬striposº¯Êý´úÌæÕýÔò±í´ïʽÍê³ÉÏàͬ¹¦ÄÜ¡£
11.
str_replace is faster than preg_replace, but strtr is faster than
str_replace by a factor of 4.
str_replaceº¯Êý±Èpreg_replaceº¯Êý¿ì£¬µ«strtrº¯ÊýµÄЧÂÊÊÇstr_replaceº¯ÊýµÄËı¶¡£
12.
If the function, such as string replacement function, accepts both
arrays and single characters as arguments, and if your argument list is
not too long, consider writing a few redund
Ïà¹ØÎĵµ£º
PHPº¯Êý°´ÒýÓô«µÝµÄÀý×Ó
Ê×ÏÈÈÃÎÒÃÇÀ´¿´Ò»¶Î´úÂëÈçÏ£º
<?php
$cost=20.99;
$tax=0.75;
function calculateCost(&$cost,$tax){
$cost=$cost+($cost*$tax);
$tax+=4;
}
calculateCost($cost,$tax);
printf("Tax is:%1.2f<br />",$tax);
  ......
ÔÚʵ¼ÊµÄ³ÌÐò¿ª·¢ÖУ¬Ö´ÐÐ×Ö·û´®Ìæ»»²Ù×÷ÊÇÒ»¼þ·Ç³£¾³£µÄÊ£¬¶Ôstr_replaceº¯ÊýµÄʵÓÃÒ²»á·Ç³£Æµ·±¡£
Õâ¶Îʱ¼äÔÚ¿´¡¶PHPºÍMySQL Web¿ª·¢¡·Ò»Êé¿´µ½str_replace½²½â£¬Ò»¶ÎСÌáʾдµ½£º¿ÉÒÔΪstr_replaceµÄÈý¸ö¶¼Ê¹ÓÃÊý×é´«È룬µ«½²½â±È½Ï¼òµ¥£¬ÓÚÊǾö¶¨×Ô¼º ......
»·¾³£ºÔÚlinux ϵͳϰ²×°ºÃPHP+mysql +apache»·¾³·¢ÏÖPHPûÓÐÖ§³Öpdo_mysqlÀ©Õ¹ÓÚÊǾö¶¨ÖØÐ±àÒëPHP,ÆäÖÐmysql²ÉÓÃrpm·½Ê½°²×°
³¢ÊÔ£º./configure --with-apxs2=/usr/local/apache/bin/apxs --with-iconv --with-oci8=instantclient,/usr /lib/oracle/10.2.0.1/client/lib --with-mysql=/usr/local/mys ......
ÔÌù£ºhttp://www.haw-haw.org/node/150
ÓÃÀ´ÔÚphp³ÌÐòÀï·½±ãµÄÁ¬µ½Ô¶³ÌÖ÷»ú
Ö´ÐгÌÐò
²¢È¡»Ø½á¹û
Ê×ÏÈ£¬ÏµÍ³ÐèÒªÒѾװÓÐopensslºÍopenssl-devel°ü
rpm -qa | grep openssl
È»ºó£¬°²×°libssh2
µ±ÏÂÀ´Ô´´úÂëºó
./configure && make all install
ÔÙÈ»ºó£¬°²×°PECL/ssh2
¿ÉÒÔÓÃÃüÁîpear install ssh2
(ÑÛÇ ......