PHP ��ĥ�⥸�塼��(PECL)�ˤĤ��ƤΥ��Ǥ���PECL ������ˤˤĤ��Ƥϡ�PEAR �ޥ˥奢���� The PHP Extension Community Library (PECL) �Ȥ��Ƥ����������ºݤˤϡ�PECL :: The PHP Extension Community Library �����ۤ���Ƥ��ޤ����������ǾҲ𤷤Ƥ��� Namazu �� Chasen �ʤɤΥ⥸�塼��ϡ�CVS �Ǥ��������Ǥ��ʤ���Τ⤢��ޤ���
���Υڡ����Ǥϡ��⥸�塼��Υ��ȡ�����ˡ�ʤɤ��⤷�Ƥ��ޤ�������ѥ���Ǥ��ʤ��ʤɤ�����������뤿��� Patch �ʤɤ�������Ƥ��ޤ����������� Patch ��Ŭ�Ѥ������꤬�Ф��Ȥ��Ƥ���Ǥ�ϻ��Ƥޤ���Τǡ�Patch �λ��ѤˤĤ��Ƥϼ�����Ǥ�ǹԤäƤ�����������������䡢�ְ㤤�ʤɤ�����ޤ����顢����ǻ�Ŧ�ꤤ���ޤ���
PHP ��ĥ�⥸�塼��(PECL)�Υ��
�Ƕ�� PECL �Ǥϡ�pecl
���ޥ�ɤ���Ѥ��ƥ��ȡ����Ԥ��褦�ˤʤ�ޤ�����pecl
���ޥ�ɤ��ʤ��С������Ǥϡ������餯 pear
���ޥ�ɤ�ư���Ȼפ��ޤ���
pecl
��ɽ������� APC �䡢SQLite �ʤɤ� PECL �˴ޤޤ�ޤ�����PEAR ��Ʊ�ͤ˥��ȡ���Ǥ��ޤ�������������ǥ���ѥ��뤬�Ԥ��ޤ��Τǡ���ȯ�Ķ���ɬ�פǤ���list-all
$ pecl install SQLite
�����������˥��ȡ��뤵��Ƥ��� PECL �γ�ĥ�⥸�塼����Ф��ơ�pear
���ޥ�ɤǥС�����åפ�Ԥ��ȡ��⥸�塼�뤬�ä��Ƥ��ޤ��褦�Ǥ�(2004.07.30 ���ߤ� PHP 4.3.8 �˴ޤޤ�Ƥ��� pear
���ޥ�ɤǤ�)��
$ pecl upgrade SQLite
upgrade
���ץ�������Ѥ����ˡ����٥��ȡ��뤷�Ƥ��饤�ȡ����Ԥä������ɤ����⤷��ޤ���
$ sudo pecl uninstall SQLite $ sudo pear install SQLite
(2006.01.04 �ɵ�)
PECL ���������ɤ������������ɤ��ƥ��ȡ��뤹����ˡ�ϡ�PHP �ޥ˥奢��: PECL ��ĥ�⥸�塼��Υ��ȡ����˾ܤ�������������ޤ���
Windows �Ǥ� PHP �� PECL �� PECL4WIN :: The PECL Windows Repository �˥Х��ʥ꤬����ޤ��Τ�ɬ�פǤ���С������餫�����������ɤ��뤳�Ȥ��Ǥ��ޤ���
Namazu �������饤�ȡ��뤹����ϡ���ʸ���������ƥ� Namazu �Υ��ȡ������Ȥ��Ƥ���������
( 2005.05.05 �ɵ� )
���ߤ� Sourceforge �� php-i18n �� Namazu �⥸�塼�뤬��Ͽ���졢php-namazu-2.3.1 �Ȥ��ƥ���������ɤǤ���褦�ˤʤäƤ��ޤ���
( 2005.04.03 �ɵ� )
�饤��������ˤ�ꡢNamazu �⥸�塼��� PECL ���鳰����ޤ���([PHP-dev 1122] namazu�������ƥ��)��CVS ������������ͽ��ˤʤäƤ��ޤ��Τǡ��ʲ�����ˡ�ϻ��ѤǤ��ʤ��ʤ�ޤ���
PHP �Υ⥸�塼��Ȥ��ơ�Namazu
(���ܸ���ʸ���������ƥ�) ����Ѥ��뤳�Ȥ��Ǥ��ޤ���namazu
�ϡ������֥����Ȥ䡢�ɥ�����Ȥθ�������Ȥ��ƻ��ѤǤ��ޤ���
PHP �� Namazu
�⥸�塼�������ϡ�ftp://night.fminn.nagano.nagano.jp/php4/ �����ǽ�Ǥ���php4_namazu-2.1.0.tar.gz( 2002.08.17 �����Ǥκǿ��� ) �����������ɤ��Ƥ���������
2003.03.16 �����Ǥϡ��嵭�����Ȥˤ���³�Ǥ��ʤ��褦�Ǥ����ʲ��Τ褦�ˡ�CVS
����Ѥ��ơ�PHP �� CVS ��ݥ��ȥ꤫��ǿ��Ǥ�������뤷���ʤ��褦�Ǥ���
$ cvs -d:pserver:[email protected]:/repository login
( 2003.07.01 ���� )
�ǥ��쥯�ȥ깽���� pear/PECL/namazu ����pecl/namazu ���ѹ�����Ƥ���褦�ʤΤǡ��������ޤ�����
$ cvs -d:pserver:[email protected]:/repository co pecl/namazu
�����Ϥ���ȡ�����������ɤ����Ϥ���ޤ���
�ѥ���ɤ����Ϥ��ᤵ��ޤ��Τǡ���phpfi
�פ����Ϥ��ޤ���
Namazu
�⥸�塼�뤬�֤���Ƥ���ǥ��쥯�ȥ�˰�ư���ơ�����ѥ��롢���ȡ����Ԥ��ޤ���
$ cd pecl/namazu $ phpize $ ./configure --with-namazu $ make $ sudo make install
PHP 4.3.1 �δĶ��Ǥϡ�/usr/local/lib/php/extensions/no-debug-non-zts-20020429/namazu.so �˥��ȡ��뤵��ޤ�����
PHP ���� Namazu �⥸�塼�����Ѥ���ˤϡ��⥸�塼��ȡ��뤷���ǥ��쥯�ȥ�� php.ini �˵��Ҥ���ɬ�פ�����ޤ���
$ sudo vi /usr/local/lib/php.ini
Namazu
�ؿ������ˤ˻Ȥ����ȤϾ��ʤ��Ȼפ��ޤ��Τǡ�Namazu
�⥸�塼���ɬ�פʻ��ˤΤߡ����Ѥ��뤳�Ȥ�¿���Ȼפ��ޤ������ξ��ϡ������������ dl
�ؿ�����Ѥ���Namazu �⥸�塼��Ǥ��롢namazu.so ��ƤӽФ����Ȥ� Namazu
�ؿ�����Ѳ�ǽ�ˤ��뤳�Ȥ��Ǥ��ޤ���
php.ini �� extension_dir
������ʲ��Τ褦�� namazu.so �����ȡ��뤵�줿�ǥ��쥯�ȥ�Ҥ��Ƥ����ȡ� ������ץȤ���ǥǥ��쥯�ȥ�λ���ʤ��Ƥ� namazu
�⥸�塼���ƤӽФ����Ȥ���ǽ�Ǥ���
extension_dir = /usr/local/lib/php/extensions/no-debug-non-zts-20020429
php.ini ���ѹ�������ϡ�Apache ��Ƶ�ư���Ƥ���������
����ǡ�PHP �� dl()
���ޥ�ɤ� namazu �⥸�塼���ƤӽФ����Ȥ��Ǥ��ޤ����ʲ��Τ褦�˸ƤӽФ��ȡ�namazu �⥸�塼����Ѱդ���Ƥ���ؿ������ѤǤ���褦�ˤʤ�ޤ���
if ( ! extension_loaded( 'namazu' ) ) { if ( ! dl( 'namazu.so' ) ) { die( 'Namazu �⥸�塼�뤬�ɤ߹���ޤ���Ǥ�����' ); } }
�⤷��PHP ����ư�������ˡ���ưŪ�� namazu �⥸�塼����ɤߤ���褦�ˤ��������ϡ�php.ini �˰ʲ��������Ԥ��ޤ���namasu.so �����ȡ��뤵�줿���� php.ini �˻��ꤵ��Ƥ����꤬Ʊ�줫�ɤ������ǧ���Ƥ���������
; namazu.so �����ȡ��뤵�줿 path ����� extension_dir = /usr/local/lib/php/extensions/no-debug-non-zts-20020429 ; ���ιԤ��ɲ� extension = namazu.so
�����Ԥä��塢Apache ��Ƶ�ư����С�dl()
�ؿ�����Ѥ��ʤ��Ƥ� namazu
�δؿ������ѤǤ���褦�ˤʤäƤ��ޤ���
��ϡ�Namazu �⥸�塼��Υ������ˡ�PHP �Υ���ץ륹����ץȤ䡢�ؿ��������ʤɤ������äƤ��ޤ��Τǡ�����ͤ˥�����ץȤ�������Ƥ���������
�ʲ��μ������������ΤǤ�����Relay operation rejected �Ȥ�����륵���Ф���Υ��顼�ˤ�ꡢ�ֿ��Ǥ��ޤ���Ǥ����Τǡ���������Ȥ��ơ��ͤ������н���ˡ��Ƥ����ޤ���
Namazu�⥸�塼��Υ���������ɤȥ��ȡ����ĩ�路 �Ƥ���ΤǤ���configure�ǥ��顼���ФƤ��ޤ��ޤ��� $ ./configure --with-namazu configure: error: Cannot find libnamazu.h. Please specify correct Namazu installation path ����Ĵ�٤Ƥߤ��ΤǤ����ɤ�������褤�Τ��狼��ޤ��� �褫�ä��饢�ɥХ������ꤤ���ޤ���
���Υ��顼���Ф��ǽ���Ȥ��Ƥϡ��ʲ��Τ��Ȥ��ͤ����ޤ���
Namazu �����ȡ��뤵��Ƥ��ʤ����
Namazu �����ȡ��뤵��Ƥ��뤫�ɤ����ϡ��ʲ��Υ��ޥ�ɤ�¹Ԥ��ơ����ȡ��뤵��Ƥ��뤫�ɤ������ǧ���Ƥ���������
$ which namazu
�ޤ��ϡ�RedHat �Ϥ� Linux ����Ѥ��Ƥ�����ϡ�rpm ���ޥ�ɤ����Ѥ�����ˡ�⤢��ޤ���
$ rpm -qa | grep namazu
�����Υ��ޥ�ɤ�¹Ԥ��ơ�����ɽ������ʤ����ϡ�Namazu �����ȡ��뤵��Ƥ��ޤ��ޤ���Namazu �ȡ��뤷�Ƥ���������Namazu �������饤�ȡ��뤹����ϡ���ʸ���������ƥ� Namazu �Υ��ȡ��������̤ǽƤ��ޤ��Τǡ�������Ȥ��Ƥ����������ޤ���RPM �䡢����¾�Υѥå������ǥ��ȡ��뤹��ȴ�ñ�Ǥ���
��ȯ�ѤΥإå��ե����뤬���ȡ��뤵��Ƥ��ʤ����
Namazu �������饤�ȡ��뤷����硢�����餯��ȯ�ѤΥإå��ե�����ϥ��ȡ��뤵��Ƥ���Ȼפ��ޤ������ѥå���������Ѥ�����硢��ȯ�ѤΥإå��ե����뤬���ȡ��뤵��Ƥ��ʤ���ǽ��������ޤ���
�㤨�С�RedHat Linux �ʤɤ� RPM �ǥѥå�����������ԤäƤ�����ϰʲ��Τ褦�˳�ȯ�ѥѥå������ȡ��뤷�Ƥ���������
$ sudo rpm -ivh namazu-devel-<�������>.rpm
��ȯ�ѤΥإå��ե����뤬���ȡ��뤵��Ƥ��뤫�ɤ����ˤĤ��Ƥϡ��ʲ��Υ��ޥ�ɤ�¹Ԥ��Ƴ�ǧ���Ƥ���������
$ find / -name libnamazu.h
�ޤ��ϡ�
$ locate libnamazu.h
�dz�ǧ�Ǥ���Ȼפ��ޤ��������餯��/usr/include/namazu/libnamazu.h ����/usr/local/include/namazu/libnamazu.h �˥��ȡ��뤵��Ƥ���Ȼפ��ޤ�������ɽ������ʤ����ϡ���ȯ�ѤΥإå��ե����뤬���ȡ��뤵��Ƥ��ޤ���
��ȯ�ѤΥإå��ե����뤬���ȡ��뤵��Ƥ���Τ���ǧ�Ǥ��ޤ����顢���١�PHP �� Namazu �⥸�塼��� configure
��¹Ԥ���³����Ԥäơ����ȡ��뤷�Ƥ���������--with-namazu
��ϡ�make
�� make install
��¹Ԥ���ȡ�Namazu �⥸�塼�뤬���ȡ��뤵���Ȼפ��ޤ���
(2005.06.04 �ɵ�)
���ߤ� Sourceforge �� php-i18n �ˤ��� Namazu �⥸�塼��Ǥϡ�PHP5 ���б����Ƥ��ޤ��Τǡ��ʲ��� Patch �����פˤʤ�ޤ��������ҤϻĤ��Ƥ����ޤ������ʲ��� Patch ��Ŭ�Ѥ���ɬ�פϤ���ޤ���
--
PHP5 �Ǥ� Namazu �⥸�塼���Ȥ�������硢PHP4 �λ���Ʊ�ͤˡ�PHP5 �ǥ��ȡ��뤵��� phpize
����Ѥ��ƥ⥸�塼�������Ԥ����ɤ��ΤǤ��������ΤޤޤǤϰʲ��Τ褦�ʥ��顼���Фƥ⥸�塼��κ����˼��Ԥ���褦�Ǥ�(������Ѥ��� PHP �ΥС������� 5.0.0 �� /usr/local/php5 �˥��ȡ��뤵��Ƥ��ޤ�)��CVS ���� Namazu �⥸�塼��Υ����������������ˤĤ��Ƥϡ���� Namazu �⥸�塼��Υ���������ɤȥ��ȡ����Ȥ��Ƥ���������
���դȤ��ơ����κ�Ȥ�Ԥä��Τϡ�/usr/local �� PHP4 �����ȡ��뤵��Ƥ���Ķ��Ǥ��Τǡ�--with-php-config
�ǡ�PHP5 �δĶ��������Ѥ���褦�ˡ�/usr/local/php5/php-config
����ꤷ�Ƥ��ޤ���PHP5 �Τߥ��ȡ��뤵��Ƥ���Ķ��Ǥ� --with-php-config
����ꤹ��ɬ�פϤʤ��Ȼפ��ޤ���
$ cd pecl/namazu/ $ /usr/local/php5/bin/phpize $ ./configure --with-namazu --with-php-config=/usr/local/php5/bin/php-config $ make ...��ά... /obj/src/pecl/namazu/php_namazu.c:162: error: `OnUpdateInt' undeclared here (not in a function) /obj/src/pecl/namazu/php_namazu.c:162: error: initializer element is not constant /obj/src/pecl/namazu/php_namazu.c:162: error: (near initialization for `ini_entries[3].on_modify') /obj/src/pecl/namazu/php_namazu.c:162: error: initializer element is not constant /obj/src/pecl/namazu/php_namazu.c:162: error: (near initialization for `ini_entries[3]') /obj/src/pecl/namazu/php_namazu.c:163: error: `OnUpdateInt' undeclared here (not in a function) /obj/src/pecl/namazu/php_namazu.c:163: error: initializer element is not constant /obj/src/pecl/namazu/php_namazu.c:163: error: (near initialization for `ini_entries[4].on_modify') /obj/src/pecl/namazu/php_namazu.c:163: error: initializer element is not constant /obj/src/pecl/namazu/php_namazu.c:163: error: (near initialization for `ini_entries[4]') /obj/src/pecl/namazu/php_namazu.c:164: error: initializer element is not constant /obj/src/pecl/namazu/php_namazu.c:164: error: (near initialization for `ini_entries[5]') make: *** [php_namazu.lo] ���顼 1
PHP5 �� ZendEngine2 �� ChangeLog �� OnUpdateInt
�� OnUpdateLong
���ѹ������Ȥ������ҤĤ��ޤ����Τǡ�PHP5 �ǥ���ѥ��뤹��ݤ��ڤ��ؤ��� Patch ��������ޤ���(cvs diff
�Ǽ���������ʬ�Ǥ�)��
������������ѤΥե�������֤��Ƥ����ޤ�(php_namazu.c.patch)��
Index: php_namazu.c =================================================================== RCS file: /repository/pecl/namazu/php_namazu.c,v retrieving revision 1.3 diff -u -r1.3 php_namazu.c --- php_namazu.c 15 Feb 2003 00:50:04 -0000 1.3 +++ php_namazu.c 19 Jul 2004 02:07:30 -0000 @@ -159,8 +159,13 @@ PHP_INI_ENTRY("namazu.sortorder", NULL, PHP_INI_ALL, OnUpdate_namazu_sortorder) PHP_INI_ENTRY("namazu.sortmethod", NULL, PHP_INI_ALL, OnUpdate_namazu_sortmethod) STD_PHP_INI_ENTRY("namazu.lang", NULL, PHP_INI_ALL, OnUpdateString, lang, zend_namazu_globals, namazu_globals) +#ifdef ZEND_ENGINE_2 + STD_PHP_INI_BOOLEAN("namazu.loggingmode", "0", PHP_INI_ALL, OnUpdateLong, loggingmode, zend_namazu_globals, namazu_globals) + STD_PHP_INI_BOOLEAN("namazu.debugmode", "0", PHP_INI_ALL, OnUpdateLong, debugmode, zend_namazu_globals, namazu_globals) +#else STD_PHP_INI_BOOLEAN("namazu.loggingmode", "0", PHP_INI_ALL, OnUpdateInt, loggingmode, zend_namazu_globals, namazu_globals) STD_PHP_INI_BOOLEAN("namazu.debugmode", "0", PHP_INI_ALL, OnUpdateInt, debugmode, zend_namazu_globals, namazu_globals) +#endif PHP_INI_END()
CVS ���� Namazu �⥸�塼��Υ���������������塢�ʲ��μ��ǡ�Patch ��Ŭ�ѡ����ȡ��뤬�Ǥ��ޤ����ǥ��쥯�ȥ�� phpize
�ξ��ʤɤ�ɬ�פ˱������ɤ��ؤ��Ƥ���������
$ cd /path/to/path/pecl/namazu/ $ wget http://www.asahi-net.or.jp/%7Ewv7y-kmr/data/php_namazu.c.patch $ patch < ./php_namazu.c.patch $ /usr/local/php5/bin/phpize $ ./configure --with-namazu --with-php-config=/usr/local/php5/bin/php-config $ make $ sudo make install
PHP5 �� dl()
�ؿ��� namazu.so ��ƤӽФ��ơ�Namazu �δؿ������ѤǤ���������Ǥ���
��ʬ������Ǥ�����PECL �ˤ��� Chasen �⥸�塼��κ��������Ԥ���褦�ˤʤäƤ��ޤ���ZTS(Zend ����åɥ����ե⡼��)�ؤ��б��κݤ�����Τ褦�ǡ�ZTS ��ͭ���ˤʤäƤ�����ϥ⥸�塼��κ�������������褦�Ǥ������̾ZTS ��̵���ˤʤäƤ��ޤ��Τǡ��⥸�塼��κ����˼��Ԥ��ޤ���
�⥸�塼��κ�������������褦�˰ʲ��� Patch ��������ޤ������Ȥꤢ������ư��뤳�Ȥϳ�ǧ���ޤ��������ܤ������ڤ�Ԥä����ǤϤ���ޤ���Τǡ��������꤬���뤫�⤷��ޤ���Patch Ŭ�Ѹ�ϡ�PHP5 �ѤȤ��ƥ⥸�塼��κ������������뤳�Ȥ��ǧ���ޤ�����
������������ѤΥե�������֤��Ƥ����ޤ�(php_chasen.c.patch)��
(2006.02.05 �ɵ�)
���� Patch �Ǥϡ�empty_string
����ʬ�ǥ��顼���ФƤ��ޤ����Τǡ�Patch ���ؤ��ޤ��������� Patch ��Ŭ�Ѥ���Х���ѥ���Ǥ���Ȼפ��ޤ���dl()
�ؿ����ѻ��˥��顼���Ф���ϡ�Chasen �⥸�塼����ѻ��˥��顼���Ф����ͤˤ��� chasen.so �� libstdc++ �����Ƥ���������
Index: php_chasen.c =================================================================== RCS file: /repository/pecl/chasen/php_chasen.c,v retrieving revision 1.3 diff -u -r1.3 php_chasen.c --- php_chasen.c 10 Aug 2003 12:45:11 -0000 1.3 +++ php_chasen.c 22 Jan 2006 16:06:56 -0000 @@ -121,11 +121,14 @@ argv[2] = NULL; break; } - +#ifdef ZTS tsrm_mutex_lock(php_chasen_mtx); +#endif if (chasen_getopt_argv(argv, NULL) != 0) { +#ifdef ZTS tsrm_mutex_unlock(php_chasen_mtx); +#endif if (argv) { efree(argv); } @@ -138,9 +141,11 @@ if (res) { RETVAL_STRING(res, 1); } else { - RETVAL_STRINGL(empty_string, 0, 1); + RETVAL_STRINGL("", 0, 1); } +#ifdef ZTS tsrm_mutex_unlock(php_chasen_mtx); +#endif if (argv) { efree(argv); @@ -163,11 +168,15 @@ convert_to_string_ex(arg_str); +#ifdef ZTS tsrm_mutex_lock(php_chasen_mtx); +#endif if (chasen_getopt_argv(php_chasen_argv_wakati, NULL) != 0) { php_error(E_WARNING,"unable to initialize chasen library"); +#ifdef ZTS tsrm_mutex_unlock(php_chasen_mtx); +#endif RETURN_FALSE; } res = chasen_sparse_tostr(Z_STRVAL_PP(arg_str)); @@ -191,7 +200,9 @@ } else { RETVAL_FALSE; } +#ifdef ZTS tsrm_mutex_unlock(php_chasen_mtx); +#endif } /* }}} */
Namazu �⥸�塼���Ʊ�ͤˡ�Chasen �⥸�塼��Υ���������������塢�ʲ��μ��ǡ�Patch ��Ŭ�ѡ����ȡ��뤬�Ǥ��ޤ���CVS �˥�������ݤΥѥ���ɤ� ��phpfi�פǤ���
$ cvs -d:pserver:[email protected]:/repository login $ cvs -d:pserver:[email protected]:/repository co pecl/chasen $ cd pecl/chasen/ $ wget http://www.asahi-net.or.jp/%7Ewv7y-kmr/data/php_chasen.c.patch $ patch < ./php_chasen.c.patch $ /usr/local/bin/phpize $ ./configure --with-chasen $ make $ sudo make install
�Ȥ����ˤĤ��Ƥϡ�pecl/chasen/README.ja �˰ʲ��Τ褦�˽�Ƥ��ޤ���
���ؿ� string chasen(string string, array option) chasen ���ޥ�� string : �����оݤ�ʸ���� opsion : ���ץ���� �㡧 $str = chasen($str, array("-F%m ")); $str = chasen($str, array("-F%y")); array chasen_split(string string) chasen �ˤ��ʬ������Ԥ���̤�����ˤ��� string : �����оݤ�ʸ���� �㡧 $str = "���ܸ��ʸ����"; $ary = chasen_split($str);
��ϡ�dl()
�ؿ��� chasen.so���ɤ߹���Ǵؿ������ѤǤ��뤫�ɤ������ǧ���ޤ���CLI �Ǥ� PHP �ǻ���Ȥ������ʲ��Τ褦�ˤʤ�ޤ�����
$ php -r 'dl( "chasen.so" ); echo chasen( "�ƥ��ȤǤ���", "" );' �ƥ��� �ƥ��� �ƥ��� ̾��-������³ �Ǥ� �ǥ� �Ǥ� ��ư�� �ü졦�ǥ� ���ܷ� �� �� �� ����-���� EOS
PHPWalker �δ����ԤΥ�ȥ����� Chasen �⥸�塼��Υ���ѥ��뤬�������Ƥ⡢�⥸�塼���ɤ߹����˥��顼���Ф�Ȥ�����Ŧ�������������Ĵ�٤Ƥߤޤ�������ȥ�����Υ����ȤǤ�������˴ؤ������䡢PHP5 �� Chasen �⥸�塼���ѥ��뤹����ˡ�ˤĤ��ơ��ܤ����������Ƥ����ޤ��Τǡ�����ѥ�����ʤɤ� PHPWalker >> PHP5��chasen��Ȥ����������ͤˤʤ�Ȼפ��ޤ���
��������������δĶ��Ǥϳ�ǧ�Ǥ��ʤ��ä��ΤǤ�����libstdc++ �ΥС������ˤ�äƤϥ��顼�ˤʤ�Ȥ������꤬����褦�Ǥ����ޤ���Namazu �⥸�塼���Ʊ�ͤˡ��饤��������αƶ���������ǽ��������ޤ��Τǡ��Х��ʥ�κ����ۤˤĤ��Ƥ��ä����դ���ɬ�פ�����ޤ���
�Ƕ�ΥС������ Chasen ����Ѥ��Ƥ����硢����ѥ�����������Ƥ⡢Chasen �⥸�塼����ɤ߹����ˡ����顼�ˤʤ��礬����ޤ���dl()
�ؿ��� chasen.so ��ƤӽФ��Ȱʲ��Τ褦�ʥ��顼�����Ϥ��졢Chasen �⥸�塼�뤬�Ȥ��ޤ���
PHP Warning: dl(): Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20020429/chasen.so' - /usr/lib/libchasen.so.0: undefined symbol: _ZNSs4_Rep11_S_terminalE in Command line code on line 1
�����ϡ�Chasen �⥸�塼���ѥ��뤷�����˺�������� chasen.so ��ɬ�פʥ饤�֥�꤬�����Ƥ��ʤ����ȤΤ褦�Ǥ���
�н���ˡ�Ȥ��Ƥϡ��嵭�� php_chasen.c ���Ф��� Patch ��Ŭ�Ѹ塢�ʲ��Τ褦�ˡ�phpize
��configure
��¹Ԥ�����˺�������� Makefile �ζ�ͭ�饤�֥��λ���� -lstdc++
���ɲä��Ƥ���������
$ phpize $ ./configure --with-chasen
��¹Ը塢��������� Makefile ���Խ����ޤ���
CHASEN_SHARED_LIBADD = -Wl,-rpath,/usr/lib -lchasen -L/usr/lib -lchasen
������ -lstdc++
���ɲä��Ƥ���������
CHASEN_SHARED_LIBADD = -Wl,-rpath,/usr/lib -lchasen -L/usr/lib -lchasen -lstdc++
�Խ��塢make
��make install
��Ԥ��ޤ������θ塢php.ini �� PHP �ε�ư�����ɤ߹��फ���ޤ��ϡ�dl()
�ؿ��ˤ��⥸�塼���ɤ߹��ߤ� chasen.so ���ɤ߹����˥��顼��ɽ������ʤ��������פǤ���
��ǧ����ˤϡ��ʲ��Τ褦�ˡ�ldd
���ޥ�ɤǡ�libstdc++.so �������Ƥ��뤫�ɤ�����Ĵ�٤ޤ����ʲ��ϡ�PHP 4.3.11 �ǡ�Chasen �⥸�塼����������������Ǥ�������ɽ������ʤ����ϥ���ѥ���˼��Ԥ��Ƥ����ǽ�����⤤�Ȼפ��ޤ���
$ ldd /usr/local/lib/php/extensions/no-debug-non-zts-20020429/chasen.so | grep libstdc++ libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libstdc++.so.5 (0xb7e29000)
chasen �� Patch �����ؤ�
pecl ���ޥ�ɤ� Windows �Ǥ� PECL �ˤĤ��Ƥ��ɵ��ȸ�����æ���ν����ʤɡ�
Chasen �⥸�塼����ѻ��˥��顼���Ф�����н�ˤĤ��Ƥε��Ҥ��ɲá�PHP5 �� Namazu �⥸�塼����������ݤˡ�Patch �����פˤʤäƤ��뤿�ᡢ���Ҥ��ɲ�
Namazu �⥸�塼��Υ饤��������ˤĤ��Ƥε��Ҥ�����ɲ�
Namazu �⥸�塼��Υ饤��������ˤĤ��Ƥε��Ҥ��ɲ�
Namazu �⥸�塼��ˤĤ��ƤΥ��� PHP4 �Υ��ȡ����⤫��ܤ��Ѥ��ޤ�����PHP5 �� namazu �⥸�塼���������뤿��� Patch��chasen �⥸�塼��κ����˼��Ԥ���������Ф��� Patch �ʤɤ�������ޤ�����