玄箱HGにOpenPNE

次にOpenPNE.インストールは,公式のインストールガイドとか他のサイトの記述を参考にしながら.

PHPからmysqlを使うところでつまずく.apt-getでphp-mysqlを入れ,これで済むものだと思ったらそうはいかなかった.OpenPNEがエラーを表示して動かない.エラーメッセージは

DB Error: extension not found

である.lib/include/DB/mysql.php

if (!PEAR::loadExtension('mysql')) {

の行で失敗し,このエラーが表示されるようである.mysqlのモジュールを読み込めない.つまり,組み込まれていないということだろう.

設定を見てみた.

  • phpinfo() の表示内容に
Configure Command '--with-config-file-scan-dir=/etc/php.d'

の記述があり,

  • ファイル /etc/php.d/mysql.ini が存在し,その中身は
; Enable mysql extension module
extension=mysql.so

であり,

  • ファイル /usr/lib/php4/mysql.so が存在し,
  • ファイル /etc/php.ini に
extension_dir = /usr/lib/php4

の記述がある

状態になっていた.なので,mysql.so はロードされると思ったのだが,正しく読み込まれていないようだ.実際,phpinfo()の出力結果には mysql の項目はなかった.

ファイル /etc/php.ini に

extension=mysql.so

と記述したら問題は解決した.書かなくても良い状態になっていたと思ったのに,なぜだろう.

参考