[ת] Óà 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/\
Ïà¹ØÎĵµ£º
×î½üÕâ¶Îʱ¼äûÓÐÔõôÈÏÕæÈ¥Ñ§Ï°Ò»Ñù¶«Î÷£¬·´¶øÊÇÕâÑùѧһµãÄÇÑùѧһµãµÄ£¬´º½Ú¸Õ¹ý¿´ÁËÒ»ÏÂASP£¬ÒòΪÀÏʦÕÒÎÒ°ïæŪһÏÂÍøÕ¾£¬µ±Ê±¾õµÃASP»á£¬ËùÒÔ¾ÍÏÈÒÔASPÀ´Á˽âÕâÒ»ÃÅ£¬Ïà¶ÔÆäËûµÄJSP£¬phpÀ´Ëµ£¬ASP»¹ÒªÊìϤһЩ£¬ËùÒÔµ±Ê±¾Í¿´ÁËÒ»ÌìASP£¬¿ÉÒÔ˵ÊÇÎÂϰ°É¡£
Ò ......
<?php
//--------------------
// »ù±¾Êý¾Ý½á¹¹
//--------------------
//¶þ·Ö²éÕÒ£¨Êý×éÀï²éÕÒij¸öÔªËØ£©
function bin_sch($arr, $low, $high, $k) {
if($low<=$high) {
$mid = intval(($low+$high)/2);
if($arr[$mid] == $k) {
return $mid;
} elseif($k<$ ......
<?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;
} ......
1¡¢Ä£°åµÄÓÉÀ´
ÔÚûÓÐÄ£°å¼¼Êõ֮ǰ£¬Ê¹ÓÃPHP¿ª·¢³ÌÐò£¬Í¨³£¶¼ÊÇphp´úÂëºÍhtml»ì±àÔÚÒ»Æð¡£±ÈÈç˵ÐÂÎÅÁÐ±í£¬ºÜ¿ÉÄܾÍÊÇÒ»¸önewslist.phpÒ³Ãæ£¬½á¹¹ÈçÏ£º
<?
//´ÓÊý¾Ý¿âÖжÁÈ¡³öÒªÏÔʾµÄÐÂÎżÇ¼
?>
<html>
<head>……..
</head>
<body>
<?
While ($news ......
×°ÁËPHP-5.3.0, Æô¶¯µÄʱºò×ÜÊÇ»áÓÐ
"[06-Aug-2009 13:27:31] PHP Warning: PHP Startup: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are stil ......