[ת] Óà SWIG ¹¹½¨ PHP À©Õ¹
×÷ÕߣºMartin Streicher, Èí¼þ¿ª·¢ÈËÔ±, Pixel, Byte, and Comma
¾¡¹Ü±àдһ¸ö PHP À©Õ¹²¢²»ÊǺÜÀ§ÄÑ£¬¶ø SWIG µÄÈ·½øÒ»²½¼ò»¯ÁËÕâÏîÈÎÎñ£¬ÕâÖ÷ÒªÊÇÒòΪËü×Ô¶¯»¯Á˽áºÏ PHP Óë C »ò C++ ËùÐèµÄ¹¤×÷¡£Èô¸ø¶¨¶ÔÒ»¸öº¯ÊýµÄÃè»æ — º¯ÊýµÄÃû³Æ¼°ÆäÐβΠ— SWIG ¾Í»áÉú³ÉÒ»¸ö°ü×°³ÌÐòÀ´½« PHP ÓëµÍ²ã´úÂëÁ¬½ÓÆðÀ´¡£
SWIG ÐèҪһЩǰÌáÌõ¼þ¡£SWIG µÄһЩ×îа汾ÐèÒª PHP µÄ°æ±¾ÊÇ V5¡£´ËÍ⣬»¹ÐèÒªÓÐÒ»¸ö C/C++ ±àÒëÆ÷£¬±ÈÈç GNU Compiler Collection (GCC)£¬ÒÔ¼° PHP Module Development Kit (MDK)¡£ÌرðÊÇÄú»¹ÒªÓÐÓë PHP °²×°Ïà¹ØµÄÍ·Îļþ¡£Èç¹ûÄúʹÓõÄÊÇ Ubuntu Linux ® »òÒ»¸ö Debian µÄ±äÌå²¢ÇÒÒѾ´ÓÒ»¸ö°ü´æ´¢¿â°²×°ÁË PHP V5£¬ÄÇôһ°ã¶øÑÔÄú¾Í¿ÉÒÔʹÓà Advanced Packaging Tool (APT) Ìí¼Ó MDK ÁË¡£ÀýÈ磬ÔÚ Ubuntu ÄÚºË 9.10 ÉÏ£¬¼üÈë apt-get install sudo apt-get install --install-recommends --yes php5-dev¡£
½ØÖ¹µ½ 2009 Äêµ×£¬SWIG µÄ×îа汾ÊÇ V1.3.40£¨²Î¼û ²Î¿¼×ÊÁÏ£©¡£ÏÂÔØ tarball £¨Ò»¸öÓÉ gzip ѹËõÁ赀 TAR Îļþ£©£¬½«Ëü½âѹËõ£¬È»ºóÕë¶ÔÄúµÄϵͳÅäÖÃÕâЩ´úÂ룬¹¹½¨²¢°²×°Õâ¸öÈí¼þ¡££¨ÒªÏëÕÒµ½ËùÓеÄÅäÖÃÑ¡ÏÔËÐÐ ./configure --help£©¡£Çåµ¥ 1 ÌṩÁËÏÂÔØ¡¢½âѹËõºÍ°²×° SWIG ËùÐèµÄÃüÁî¡£
Çåµ¥ 1. ÏÂÔØ¡¢½âѹËõºÍ°²×° SWIG
$ wget http://prdownloads.sourceforge.net/swig/swig-1.3.40.tar.gz
$ tar xzf swig-1.3.40.tar.gz
$ cd swig-1.3.40
$ ./configure
$ make
$ sudo make install
$ which swig
/usr/local/bin/swig
¹¹½¨Ò»¸öÀ©Õ¹
ÈÃÎÒÃǹ¹½¨Ò»¸öÀ©Õ¹À´Óà Linux mcrypt ¿â¼ÓÃܺͽâÃÜÏûÏ¢¡£PHP ÌṩÁËÒ»¸ö mcrypt ¿â£¬µ«Ëü²»¹ýÊǶԴ˿âµÄ C °æ±¾ÉÔ×÷ÐÞÊκóµÄ½á¹û¡£ÏÖÔÚ£¬ÈÃÎÒÃǹ¹½¨Á½¸ö¸üΪ¼ò½àµÄ·½·¨£ºÒ»¸öÓÃÀ´¼ÓÃÜ×Ö·û´®£¬ÁíÒ»¸öÓÃÀ´½âÃÜ×Ö·û´®¡£
ÔÚ Ubuntu »òÓëÆäÏàËƵÄϵͳÉÏ£¬Äú¿ÉÒÔÓà APT °²×°Ç¡µ±µÄ mcrypt ¿âºÍÍ·Îļþ£º$ sudo apt-get install libmcrypt-dev libmcrypt4 mcrypt libmhash2¡£
ÈôÄúÄþÔ¸´ÓÍ·¿ªÊ¼¹¹½¨£¬»òÕßÄúµÄ·Ö²¼°æÄÚ²»°üÀ¨ mcrypt£¬ÄÇô¿ÉÒÔ´ÓËüµÄÖ÷Ò³ÉÏÏÂÔØÔ´´úÂ루²Î¼û ²Î¿¼×ÊÁÏ£©¡£Ìæ´úÁË crypt µÄ mcrypt ʵÓóÌÐòÒ²ÒÀÀµÓÚ libmhash£¬Òò´Ë±ØÐëÔÚ±àÒë mcrypt ֮ǰ¹¹½¨ libmhash¡£Çåµ¥ 2 ¸ø³öÁ˹¹½¨ libmhash ËùÐèµÄ´úÂë¡£
Çåµ¥ 2. ¹¹½¨ libmhash
$ # libmhash
$ wget http://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/\
Ïà¹ØÎĵµ£º
<?php
function page ( $totalPage , $currentPage,$url ,$halfPer=5)
{
$total=$totalPage-1;
$re="<td><a href="\" mce_href="\""$url\" onclick=\"page=prompt('¹²{$totalPage}Ò³\\n×Ô¶¨ÒåÌøתµ½µÚ¼¸Ò³£º','');if(page>0&&page<$total)location.href=this.href+'='+(page-1);r ......
<?php
function make_rand($length="32"){//ÑéÖ¤ÂëÎÄ×ÖÉú³Éº¯Êý
$str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
$result="";
for($i=0;$i<$length;$i++){
$num[$i]=rand(0,61);
$result.=$str[$num[$i]];
}
return $result;
} ......
½üÀ´¶Ôphp±È½Ï¸ÐÐËȤ£¬¾Í¶Ï¶ÏÐøÐøµÄ»¨ÁËÁ½¸öÐÇÆÚµÄʱ¼ä°ÑÕû¸öphp¿ª·¢ÐèÒªÓõ½µÄ¶«Î÷¶¼×°ºÃÁË£¬´ó¸ÅµÄ°²×°¹ý³ÌÈçÏ¡£
Ò»¡¢°²×°µÄÈí¼þ:
Apache: 2.2.14
PHP:5.2.12
MySQL:5.1.42¡£
SVN:1.5.6
PHPMyAdmin:3.2.5
Zend Studio: 7.1
Zend Debugger: 5.1.14
¶þ¡¢°²×°¹ý³Ì£º
1. °²×°ºÍÅäÖÃapache
°²×°£ºÊ×ÏÈ´Óhttp://apa ......
¾³£ÓÐһЩ¾Ñé²»×ãµÄPHP¿ª·¢ÈËÔ±ÔÚFreenodeµÄphp
IRCƵµÀÉÏÎÊÎÊÌâ¡£Èç¹ûÎÊÌâºÜËöË飬»òÕß´ð°¸ÏÔ¶øÒ×¼û£¬»ò±íÏÖµÃÏóÒ»¸ö²ËÄñ£¬ºÜ¿ìËûÃǾͻᷢÏÖ»áÊܵ½ÈçÏÂһЩ»Ø¸´µÄÅں䣺“È¥¶Á¸ÃËÀµÄÊÖ²áÈ¥°É”£¬“ºÃ
ºÃȥѧһѧPHP°É”£¬“ÎÒÃDz»ÊÇÄã¸öÈ˵ĵ¼Ê¦”»ò¸üÖ±½ÓµÄ“ÄãÐèÒª³ÉΪһ¸ö¸üºÃµ ......