てきとう

ワーワーゆうとります

PHPのconfigure時にwith-pdo-mysqlしたらエラーで困った

前提

  • Mac OSX(Macportsで5.3、手動で5.1が入っているのを用途に合わせて設定ファイルで切り替えている)
  • そこの切り替え要因に手動でPHP5.2.13を入れたい
  • MySQLを使いたいのでオプションに--with-pdo-mysqlを指定する


configureする(本当はもっと色々オプションつけてるけどとりあえず主要なのだけ)

sudo ./configure --prefix=/usr/local/lib/php-5.2.13 --with-apxs2=/opt/local/apache2/bin/apxs  --enable-pdo --with-pdo-mysql=/opt/local

エラー出る

configure: error: Cannot find MySQL header files under /opt/local/.
Note that the MySQL client library is not bundled anymore!

ヘッダーファイルが見つからないよ、と。


そもそも--with-pdo-mysqlが欲しがっているPATHとは

よく「mySQLがインストールされているディレクトリのパスだよ」と説明されていますが、結局そこのパスから何が欲しいのかっていうと
mySQLがインストールされているディレクトリ以下からヘッダーファイル(includes以下)とライブラリファイル(lib以下)を探したいらしい。
今使っているmysqlは/opt/local/mysql5にインストールされているので、/opt/local/を指定すればいいはず。でもエラー。もしかして名前かなーと思い

sudo ln -s mysql5 mysql

と、シンボリックリンクを貼ってから再度configureを行ったら成功しました。
なんか前も別環境でこれでハマってた気がするんだけど気のせいかな。

※ちなみにこのあとmakeしたら別エラー出て困っているのは別のお話です