1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

私だけがずっと困っていたphpbrew+mysqlのコンパイル

Posted at

Phpbrewでphpのバージョン管理をしているのですが、もろもろコンパイルに苦労したときの話。

私のmacの環境

  • homebrewにてmysql5.7と8.0がインストールされており稼働中。
  • PHP7.4とPHP8.0が必要

phpとmysqlの対応表

PHP mysql
7.4 5.7
8.0 8.0

phpbrewでphpのインストール

8.0に関してはあんまり苦労しなかった。

phpbrew install 8.1.0 
+mysql="$(brew --prefix mysql)" 
+pdo= +gd="$(brew --prefix gd)" 
+bz2="$(brew --prefix bzip2)" +apxs2= +json= +phar= 
+xml= +curl="$(brew --prefix curl)" +zip= 
-- --with-mysqli=/usr/local/opt/mysql/bin/mysql_config 
--with-openssl-dir=/usr/local/Cellar/openssl@1.1  
--with-zlib-dir=/usr/local/opt/zlib

これでなんとなく入った

7.4.2をインストールしようとして、mysqlのインストールディレクトリの指定などを変更して
sockをmysql5.7が動いているものを指定。あとは8.0とほぼおんなじ。

phpbrew install 7.4.2 
+mysql="$(brew --prefix mysql@5.7)" +pdo= 
+gd="$(brew --prefix gd)" 
+bz2="$(brew --prefix bzip2)" +apxs2= +json= +phar= +xml= 
+curl="$(brew --prefix curl)" +zip= 
-- --with-mysqli=/usr/local/opt/mysql@5.7/bin/mysql_config 
--with-openssl-dir=/usr/local/Cellar/openssl@1.1  
--with-mysql-sock=/tmp/mysql2.sock 
--with-zlib-dir=/usr/local/opt/zlib

エラー発生
なんでよ。

発生したエラーはmysqlのライブラリーがちがいますよとのこと。

configure: error: wrong mysql library version or lib not found. Check config.log for more information.

いろいろ調べた結果

phpbrew install 7.4.2 
+mysql="$(brew --prefix mysql@5.7)" +pdo= 
+gd="$(brew --prefix gd)" 
+bz2="$(brew --prefix bzip2)" 
+apxs2= +json= +phar= +xml= +curl="$(brew --prefix curl)" 
+zip= -- --with-mysqli=mysqlnd 
--with-openssl-dir=/usr/local/Cellar/openssl@1.1  
--with-mysql-sock=/tmp/mysql2.sock --with-zlib-dir=/usr/local/opt/zlib

--with-mysqliにmysql_configを指定していたのをmysqlndに変更したら入りました。
理由はよくわかりません。8.0のときはmysql_configを設定していても問題なかったのに
5.7を指定してphpをコンパイルしようとするとエラーが出る謎。

参考:どのライブラリを選ぶか

誰かの参考になれば

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?