公開日: 2010年03月31日(Wed)
SentOS に PHP5 を yum で入れた場合に、SQLite を使いたくて、でもなかなか使えなくて苦労した。その時のメモ。
まず、phpize
と pecl
を利用できるようになってないとダメらしい。使えるようになってない人は、この手順で使えるようにしないといけない。
参考にさせて頂いたのはこちらのサイト。
# yum install php-devel
# yum install php-pear
php-pear
を入れると pecl
が使えるようになるようだ。
とりあえずSQLiteを入れようとしてみる。
さっきインストールした pecl
を使って、
# pecl install sqlite
とやってみる。
が、
make: *** [sqlite.lo] エラー 1
ERROR: `make' failed
となって失敗したようだ。
何がいけないのかと調べてみたら、次のサイトに答えが載っていた。
どうも元のソースに問題があるらしく、自分でソースを修正して再コンパイルする手順のようだ。解説にある通りにやってみる。
# wget http://pecl.php.net/get/SQLite-1.0.3.tgz
# tar xzf SQLite-1.0.3.tgz
# cd SQLite-1.0.3
# phpize
# ./configure
そしたら、次の通り、ソースを修正する。
# vi sqlite.c
56行目:先頭に //
を追記してコメントアウト。
誤:static unsigned char arg3_force_ref[] = {3, BYREF_NONE, BYREF_NONE, BYREF_FORCE };
正:// static unsigned char arg3_force_ref[] = {3, BYREF_NONE, BYREF_NONE, BYREF_FORCE };
125行目:arg3_force_ref
を third_arg_force_ref
に変更。
誤:PHP_FE(sqlite_open, arg3_force_ref)
正:PHP_FE(sqlite_open, third_arg_force_ref)
126行目:arg3_force_ref
を third_arg_force_ref
に変更。
誤:PHP_FE(sqlite_popen, arg3_force_ref)
正:PHP_FE(sqlite_popen, third_arg_force_ref)
そしたら、make
して make install
する。
# make
# make install
PHPの設定ファイルにインストールした sqlite.so
を読み込みように記述する。
# vi /etc/php.d/sqlite.ini
extension = sqlite.so
そして、Apacheを再起動。
# service httpd restart
phpinfo()
を確認してsqliteが表示されていれば成功!
公開日: 2010年03月31日(Wed)