PHPBrewでiconv拡張をインストール

1. 環境

インストールする環境はこんな感じ

$ sw_vers
ProductName:	macOS
ProductVersion:	11.3
BuildVersion:	20E232

$ phpbrew --version
phpbrew - 1.27.0
cliframework core: 2.5.4

$ phpbrew list
* php-7.4.13
  php-7.3.25

$ php -v
PHP 7.4.13 (cli) (built: Dec  4 2020 21:48:53) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

libiconv はインストール済

$ brew install libiconv

2. インストール

まずは失敗したケースから

$ phpbrew ext install iconv
===> Installing iconv extension...
Log stored at: /Users/admin/.phpbrew/build/php-7.4.13/ext/iconv/build.log
Changing directory to /Users/admin/.phpbrew/build/php-7.4.13/ext/iconv
===> Phpize...
===> Configuring...
Error: Command failed: ./configure '--with-php-config=/Users/admin/.phpbrew/php/php-7.4.13/bin/php-config' >> '/Users/admin/.phpbrew/build/php-7.4.13/ext/iconv/build.log' 2>&1 returns:

エラーログをみると --with-iconv を指定する必要があるようなので

checking if debug is enabled... no
checking if zts is enabled... no
checking for gawk... no
checking for nawk... no
checking for awk... awk
checking if awk is broken... no
checking for iconv support... yes, shared
checking for iconv... no
checking for libiconv... no
configure: error: Please specify the install prefix of iconv with --with-iconv=<DIR>

改めて

$ phpbrew ext install iconv -- --with-iconv=$(brew --prefix libiconv)
===> Installing iconv extension...
Log stored at: /Users/admin/.phpbrew/build/php-7.4.13/ext/iconv/build.log
Changing directory to /Users/admin/.phpbrew/build/php-7.4.13/ext/iconv
===> Phpize...
===> Configuring...
===> Building...
===> Running make all: /usr/bin/make -C '/Users/admin/.phpbrew/build/php-7.4.13/ext/iconv' 'all'  >> '/Users/admin/.phpbrew/build/php-7.4.13/ext/iconv/build.log' 2>&1
===> Installing...
===> Running make install: /usr/bin/make -C '/Users/admin/.phpbrew/build/php-7.4.13/ext/iconv' 'install'  >> '/Users/admin/.phpbrew/build/php-7.4.13/ext/iconv/build.log' 2>&1
===> Extension is installed.
===> Creating config file /Users/admin/.phpbrew/php/php-7.4.13/var/db/iconv.ini.disabled
===> Enabling extension iconv
[*] iconv extension is enabled.
Done.
$ phpbrew ext |grep iconv
 [*] iconv        7.4.13

3. iniの場所

$ head ~/.phpbrew/php/php-7.4.13/var/db/iconv.ini
extension=iconv.so