2010年6月23日水曜日

PECLでSQLiteをインストールできないとき



こちらで紹介されているように、途中エラーで止まってしまう場合の対処


http://blog.plastik.jp/archives/44


上記内容の中で、「ソースを直接編集」の部分がどのファイルを編集するべきか


すぐにがわからなかったのでメモ


-> sqlite.c を直接編集



vi sqlite.c

## Line: 56 行目をコメントアウト /* ~ */ で囲う
/* static unsigned char arg3_force_ref[] = {3, BYREF_NONE, BYREF_NONE, BYREF_FORCE }; */

## Line: 125, 126 の arg3_force_ref を third_arg_force_ref に変更
PHP_FE(sqlite_open, arg3_force_ref) → PHP_FE(sqlite_open, third_arg_force_ref)
PHP_FE(sqlite_popen, arg3_force_ref) → PHP_FE(sqlite_popen, third_arg_force_ref)



このあと、make && make install でいけました。





2010年6月17日木曜日

fgetcsv で文字化けする場合



fgetcsv の仕様が、PHP4 -> PHP5 で変わったらしくLocale に依存するらしい。


日本語が文字化けする場合は、以下のように明示的にLocaleを変更する



setlocale(LC_ALL,'ja_JP');


fgetcsv 実行前に上記を書けばOK。