2009年10月16日金曜日
PHP4とSQLite2とか3とか

久しぶりにてこずったので、忘れないようにメモしておく。
てこずったといっても、半分くらいは自分の責任なんだけど…

現在、お仕事でwebサーバのお引越しをしていて、前の環境と新しい環境を同じにしようとあれこれやってました。
んで、phpinfo()を見ると、どうやらSQLITE3が入ってるようなので、同じように入れてみた。

/usr/ports/databases/sqlite3/ に移動して、make config → make install clean を実施。

あれ?
Apache再起動しても、phpinfo()に反映されねー!

よく調べてみたら、PHP用のsqliteは /usr/ports/database/php-sqlite3/ にあるじゃないか。
再びインストール。

テキトーにphpを書いて、動作確認。

Fatal error: Call to undefined function: sqlite_open() in /xxx/xxx/public_html/test.php on line 5

えぇー!!
undefinedって…

元のサーバも、念のために実行してみました。

Fatal error: Call to undefined function: sqlite_open() in /xxx/xxx/public_html/test.php on line 5

あぁ、そういうことですか。
確かにSQLite使ってる箇所がなかったけど、動かないモジュール入れてるとは想像しませんでした。

でも、こうなったらなんとしてもSQLiteを動くようにしてやるってんで、SQLite2を導入することに。


とりあえず /usr/ports/databases/sqlite2/ でインストール!

案の定、phpでSQLiteが動きません。

じゃ、どっかからtgzを落としてこなきゃならないの??とかって検索しまくった結果…

東西社ホームページ -開発日誌-(http://www.tozaisya.jp/archive/200706.html)にこんな記載がありました。

FreeBSD 6で、Apach + PHP 4でsqliteを動かすには、portsのpecl-sqliteをインストールすれば動くようです。

東西社ホームページ -開発日誌- PHP 4とsqlite 2 2007年6月13日


天の助けとはこのことか。

無事動きました。



0 コメント | コメントを書く
Template Design: © 2007 Envy Inc.