Berkeley 5.0.21ÌṩµÄPHPÀ©Õ¹µÄBug
½ñÌì×°Á˸öBerkeley 5.0.21½øÐвâÊÔ¡£
˳Àû±àÒëÁË×Ô´øµÄphp_db4Ä£¿éºó£¬½øÐвâÊÔ¡£·¢ÏÖdel²Ù×÷±¨´í£º
illegal flag specified to DB->del
<?php
dl('db4.so');
$db = new Db4();
$db->open(null, 'info.db', 'info');
$db->put('key', 'value');
var_dump($db->del('key'));
$db->close();
$db->delµÄ·µ»ØÖµÊÇ22¡£Ò²¾ÍÊDzÎÊý´íÎó¡£
֮ǰû½Ó´¥¹ýBDB£¬Ò²²»ÖªµÀÕý²»Õý³£¡£µ«»³ÒÉÊDz»ÊÇÒòΪphpÊÇÖ§³Ö4.xϵÁеģ¬Òò´Ë½øµ½phpÄ£¿éµÄ´úÂë¿´ÁËһϡ£
phpµÄdelµÄʵÏֺܼòµ¥£º
/* {{{ proto bool DB4::del(string $key [, object $txn])
*/
ZEND_NAMED_FUNCTION(_wrap_db_del)
{
DB *db = NULL;
DB_TXN *txn = NULL;
zval *txn_obj = NULL;
u_int32_t flags; // ³ö´íÐУºÎ´³õʼ»¯£¡¸ÄΪ u_int32_t flags = 0;
DBT key;
char *keyname;
int keylen;
getDbfromThis(db);
if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|O", &keyname, &keylen,
&txn_obj, db_txn_ce) == FAILURE)
{
return;
}
if(txn_obj) {
getDbTxnfromThis(txn);
flags = 0;
}
memset(&key, 0, sizeof(DBT));
key.data = keyname;
key.size = keylen;
RETURN_LONG(db->del(db, txn, &key, flags));
}
/* }}} */
ÒòΪÎÒûÓд«µÝtxn¶ÔÏó£¬Òò´Ëtxn_objÅжÏΪfalse,³ö´íÔÒò¾ÍºÜ¼òµ¥ÁË£º
flagsû³õʼ»¯¡£
¿´ÆðÀ´µÍ¼¶´íÎó˶¼»á·¸¡£
ÐÞÕýºó²âÊÔÕý³£¡£
Ïà¹ØÎĵµ£º
°²×°
$cfg['PmaAbsoluteUri'] = 'http://localhost/phpMyAdmin/';//phpMyAdminµÄ°²×°Â·¾¶
$cfg['blowfish_secret'] = '123456';//¼ÓÃÜÃܳף¬¿ÉËæÒâ¸ü¸Ä¡£
$cfg['Servers'][$i]['user'] = 'root'; // MySQLÓû§£¬Èç root
$cfg['Servers'][$i]['password'] = 'pswd'; // MySQLÓû§ÃÜÂë
$cfg['DefaultLang'] = '';¡¡¸ÄÎ ......
²½ÖèÒ»£º´î½¨»·¾³
1£¬Ê×ÏȲ鿴ÄãµÄphpÀ©Õ¹Ä¿Â¼ÏÂÊÇ·ñÓÐphp_gettext.dllÕâ¸ö
Îļþ£¬Èç¹ûûÓУ¬Õâ¾ÍÐèÒªÄã
ÏÂÔØÒ»¸ö»òÊÇ´ÓÆäËûµØ·½¿½±´Ò»¸ö£¬È»ºó·Åµ½phpÀ©Õ¹Ä¿Â¼¡£
2£¬´ò¿ªphp.ini£¬²é
ÕÒ”;extension=php_gettext.dll“ £¬È»ºóÈ¥³ý×¢ÊÍ£¬ÖØÆôapache¡£
²½Öè¶þ:ÔÀí½²½â
¼ÙÈçÄãµÄû
Óйú¼Ê»¯µÄ³ÌÐòÀïÓÐÕâÑù ......
(1) autoload»úÖÆ¸ÅÊö
ÔÚʹÓÃPHPµÄOOģʽ¿ª·¢ÏµÍ³Ê±£¬Í¨³£´ó¼Òϰ¹ßÉϽ«Ã¿¸öÀàµÄʵÏÖ¶¼´æ·ÅÔÚÒ»¸öµ¥¶ÀµÄÎļþÀÕâÑù»áºÜÈÝÒ×ʵÏÖ¶ÔÀà½øÐи´Óã¬Í¬Ê±½«À´Î¬»¤Ê±Ò²ºÜ±ãÀû¡£ÕâÒ²ÊÇOOÉè¼ÆµÄ»ù±¾Ë¼ÏëÖ®Ò»¡£ÔÚPHP5֮ǰ£¬Èç¹ûÐèҪʹÓÃÒ»¸öÀֻ࣬ÐèÒªÖ±½ÓʹÓÃinclude/require½«Æä°üº¬½øÀ´¼´¿É¡£ÏÂÃæÊÇÒ»¸öʵ¼ÊµÄÀý×Ó£º
CODE:
/* ......
´´½¨ÎĵµÀàÐÍÉùÃ÷
Ò»°ã¶øÑÔ£¬XMLÉùÃ÷·ÅÔÚÎĵµ¶¥²¿¡£ÔÚPHPÖÐÉùÃ÷Ê®·Ö¼òµ¥£ºÖ»ÐèʵÀý»¯Ò»¸öDOMÎĵµÀàµÄ¶ÔÏ󲢸³ÓèËüÒ»¸ö°æ±¾ºÅ¡£²é¿´³ÌÐòÇåµ¥A£º
³ÌÐòÇåµ¥ A
<?php
// create doctype
$dom = new DOMDocument("1.0");
// display document in browser as plain text
// display document in browser as plain text ......
header("Content-Type:text/html;charset=utf8"); ·Åµ½PHP¿ªÍ·´¦
$link=mysql_connect("localhost","root","110110");//Á´½Ó
mysql_select_db("blog",$link);//Ñ¡ÔñÊý¾Ý¿â
mysql_query("SET character_set_results=gbk", $link);//×Ö·û±àÂë ......