¿ìËÙ¿ª·¢Ò»¸öPHPÀ©Õ¹
¿ìËÙ¿ª·¢Ò»¸öPHPÀ©Õ¹
±¾ÎÄͨ¹ý·Ç³£¿ìËٵķ½Ê½½²½âÁËÈçºÎÖÆ×÷Ò»¸öPHP 5.2 »·¾³µÄÀ©Õ¹£¨PHP Extension£©£¬Ï£ÍûÄܹ»ÔÚͼÎĵķ½Ê½ÏÂÈÃÏë¿ìËÙѧϰµÄÅóÓÑÁ˽âÒ»ÏÂÖÆ×÷¹ý³Ì¡£
ÐèÇ󣺱ÈÈ翪·¢Ò»¸ö½Ð×ö heiyeluren µÄÀ©Õ¹£¬À©Õ¹Àï¾ÍÒ»¸öº¯Êý heiyeluren_test()£¬ÊäÈëÒ»¸ö×Ö·û´®£¬º¯Êý·µ»Ø£ºYour input string: xxxxx¡£
ÒªÇó£ºÁ˽âC/C++±à³Ì£¬ÊìϤPHP±à³Ì
»·¾³£ºÏÂÔØÒ»·Ýphp¶ÔÓ¦°æ±¾µÄÔ´Â룬ÎÒÕâÀïÊÇ php-5.2.6£¬ÏÈÕý³£°²×°php£¬¼ÙÉèÎÒÃǵÄphp°²×°ÔÚ /usr/local/php Ŀ¼£¬Ô´ÂëÔÚ /root/soft/php/php-5.2.6/£¬ÏÖÔÚ¿ªÊ¼£¡
²½ÖèÒ»£ºÉú³ÉÀ©Õ¹¿ò¼Ü
cd /root/soft/php/php-5.2.6/ext
./ext_skel --extname=heiyeluren
cd /root/soft/php/php-5.2.6/ext/heiyeluren
vi config.m4
´ò¿ªÎļþºóÈ¥µô dnl £¬»ñµÃÏÂÃæµÄÐÅÏ¢£º
PHP_ARG_ENABLE(heiyeluren, whether to enable heiyeluren support,
[ --enable-heiyeluren Enable heiyeluren support])
±£´æÍ˳ö.
(ͼ01)
µÚ¶þ²½£º±àд´úÂë
vi php_heiyeluren.h
ÕÒµ½£ºPHP_FUNCTION(confirm_heiyeluren_compiled); £¬ÐÂÔöÒ»ÐУº
PHP_FUNCTION(heiyeluren_test);
±£´æÍ˳ö¡£
(ͼ02)
vi heiyeluren.c
Êý×éÀïÔö¼ÓÎÒÃǵĺ¯Êý£¬ÕÒµ½ zend_function_entry heiyeluren_functions[]£¬Ôö¼Ó£º
PHP_FE(heiyeluren, NULL)
(ͼ03)
ÔÙµ½ heiyeluren.c Îļþ×îºóÃæÔö¼ÓÈçÏ´úÂ룺
PHP_FUNCTION(heiyeluren_test)
{
char *arg = NULL;
int arg_len, len;
char *strg;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &arg, &arg_len) == FAILURE) {
return;
}
len = spprintf(&strg, 0, "Your input string: %s\n", arg);
RETURN_STRINGL(strg, len, 0);
}
±£´æÍ˳ö¡£
(ͼ04)
µÚÈý²½£º±àÒë°²×°
cd /root/soft/php/php-5.2.6/ext/heiyeluren
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make test
make install
ÏÖÔÚ¿´¿´ÊDz»ÊÇÓиö /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/heiyeluren.so
±à¼php.ini£¬°Ñ
Ïà¹ØÎĵµ£º
»ù´¡Ìâ
¡¡¡¡1.±íµ¥ÖÐ getÓëpostÌá½»·½·¨µÄÇø±ð?
¡¡¡¡´ð£ºgetÓû§¶Ë½«Êý¾Ý¼Óµ½URLºó£¬¸ñʽΪ”?×Ö¶Î1=ÊäÈëÊý¾Ý1&×Ö¶Î2=ÊäÈëÊý¾Ý2&..."¡£
¡¡¡¡ÓÉÓÚgetÌá½»²ÎÊýºó»áÔÚµØÖ·À¸ÖÐÏÔʾ³öÀ´£¬ËùÒÔ»á²úÉúÑÏÖØµÄ°²È«ÎÊÌâ¡£
¡¡¡¡get´«ÊäµÄÊý¾ÝÁ¿Ð¡£¬get´«ÊäµÄÊý¾ÝÁ¿Ð¡£¬ÕâÖ÷ÒªÊÇÒòΪÊÜurl³¤¶ÈÏÞÖÆ;¶øpost¿ÉÒÔ´«Ê ......
²Ù×÷ϵͳcentos 5.3£¬php 5.1.6, xdebug 2.0.5¡£
Ö÷Òª²Î¿¼Îĵµ£º
xdebugµÄ°²×°Îĵµ£ºhttp://xdebug.org/docs/install¡£
xdebugµÄÔ¶³Ìµ÷ÊÔÅäÖÃÎĵµ£ºhttp://xdebug.org/docs/remote
Using vim and xdebug DBGp for debugging Drupal (or any PHP application)£º
http://2bits.com/articles/using-vim-and-xdebug- ......
ÖÐÎÄ×Ö·û½ØÈ¡ÊÇÒ»¸öÊ®·ÖÓÐÓõŦÄÜ£¬ÔÚºÜ¶àµØ·½¶¼»áÓõ½£¬±ÈÈçÌáÈ¡¶¨³¤±êÌ⣬³éÈ¡±êÇ©µÈ
ÓÉÓÚ¸÷ÖÖ×Ö·û¼¯µÄ´æ´¢·½Ê½µÄ²»Ò»Ñù£¬´æÔÚË«×Ö½Ú£¨GBK£©¶à×Ö½Ú£¨Unicode£©µÄ´æ´¢·½Ê½£¬Õâ¾Íµ¼ÖÂÁËͳһ´¦ÀíµÄÀ§ÄÑ¡£
¹ú¼Ê±ê×¼UTF8×Ö·û±àÂëÖУ¬´æ´¢ÖÐÎÄ×Ö·ûÒª3¸ö×Ö½Ú£¬¼´°ÑphpÎļþ´æ´¢ÎªUTF8±àÂë¸ñʽ¿ÉÒԵõ½
strlen(& ......
PHP trim() º¯Êý
¶¨ÒåºÍÓ÷¨
trim() º¯Êý´Ó×Ö·û´®µÄÁ½¶Ëɾ³ý¿Õ°××Ö·ûºÍÆäËûÔ¤¶¨Òå×Ö·û¡£
Óï·¨
trim(str,charlist)
²ÎÊý 1 strΪ´ý²Ù×÷µÄ×Ö·û´®£¬²ÎÊý 2 charlist ¿ÉÑ¡£¬Ö¸¶¨ÁËÏëҪȥ³ýµÄÌØÊâ·ûºÅ¡£
Èç¹ûµÚ¶þ¸ö²ÎÊýû¸øÖµ£¬Ô¤Éè»áÈ¥³ýÏÂÁÐÕâЩ×ÖÔª£º
" " (ASCII 32 (0x20) ......
PHP trim() º¯Êý
¶¨ÒåºÍÓ÷¨
trim() º¯Êý´Ó×Ö·û´®µÄÁ½¶Ëɾ³ý¿Õ°××Ö·ûºÍÆäËûÔ¤¶¨Òå×Ö·û¡£
Óï·¨
trim(str,charlist)
²ÎÊý 1 strΪ´ý²Ù×÷µÄ×Ö·û´®£¬²ÎÊý 2 charlist ¿ÉÑ¡£¬Ö¸¶¨ÁËÏëҪȥ³ýµÄÌØÊâ·ûºÅ¡£
Èç¹ûµÚ¶þ¸ö²ÎÊýû¸øÖµ£¬Ô¤Éè»áÈ¥³ýÏÂÁÐÕâЩ×ÖÔª£º
" " (ASCII 32&nbs ......