phpbrew で Mac に PHP7.3 をインストールしたかっただけ。
phpbrew install 7.3.12
したら以下エラーが出た。
configure: error: OpenSSL version 1.0.1 or greater required.
どうも brew で入れた新しい openssl を参照してくれないらしいので、参照させるように +openssl=$(brew --prefix openssl)
を足してやる。そうして phpbrew install 7.3.12 +openssl=$(brew --prefix openssl)
としたら以下エラーが出た。
ld: file not found: /usr/lib/system/libsystem_darwin.dylib for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ext/opcache/opcache.la] Error 1
これも ld をちゃんと参照してくれるように環境変数でフラグをするように LDFLAGS="-L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/system"
を足してやる。
最終的にこれでビルドできた。
LDFLAGS="-L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/system" phpbrew install 7.3.12 +openssl=$(brew --prefix openssl)
phpbrew はビルドに成功するとプロンプトに Enjoy!
って出てくるよ。
これで OK かと思ったら composer require bref/bref
したときにこける
$ phpbrew use 7.3.12
$ composer require bref/bref
PHP Fatal error: Uncaught Error: Call to undefined function Composer\Json\json_decode() in phar:///usr/local/Cellar/composer/1.9.1/bin/composer/src/Composer/Json/JsonFile.php:156
Stack trace:
(省略)
どうも json と ctype の extension をインストールし忘れているらしい。
$ phpbrew list
# WARNING: ctype extension might be required for parsing yaml file.
* php-7.3.12
php-7.2.25
追加でインストールするために phpbrew ext install json ctype
したら Warningは出なくなった。けど composer require bref/bref
は相変わらずこける。
$ composer require bref/bref
PHP Fatal error: Uncaught Error: Call to undefined function JsonSchema\Uri\filter_var() in phar:///usr/local/Cellar/composer/1.9.1/bin/composer/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriResolver.php:82
Stack trace:
(省略)
ひたすら、モジュールを追加していく・・・。最終的にこれだけ入っていれば
composer require bref/bref
は通った。
phpbrew ext install json ctype filter hash curl
たぶん、最初に 7.3.12 をインストールするときにまとめて指定するオプションあるんだろうけど。最終的に以下のような状態。もっと入れといたほうが良い気がするけど、とりあえず事足りた。
$ phpbrew ext
Loaded extensions:
[*] ctype 7.3.12
[*] curl 7.3.12
[*] date 7.3.12
[*] dom 20031129
[*] filter 7.3.12
[*] hash 7.3.12
[*] json 1.7.0
[*] libxml 7.3.12
[*] openssl 7.3.12
[*] pcre 7.3.12
[*] phar 7.3.12
[*] reflection 7.3.12
[*] session 7.3.12
[*] simplexml 7.3.12
[*] spl 7.3.12
[*] standard 7.3.12
[*] tokenizer 7.3.12
[*] xml 7.3.12
[*] xmlreader 7.3.12
[*] xmlwriter 7.3.12
[*] xsl 7.3.12
[*] zlib 7.3.12
Available local extensions:
[ ] bcmath
[ ] bz2
[ ] calendar
[ ] dba
[ ] enchant
[ ] exif
[ ] fileinfo
[ ] ftp
[ ] gd
[ ] gettext
[ ] gmp
[ ] iconv
[ ] imap
[ ] interbase
[ ] intl
[ ] ldap
[ ] mbstring
[ ] mysqli
[ ] mysqlnd
[ ] oci8
[ ] odbc
[ ] opcache
[ ] pcntl
[ ] pdo
[ ] pdo_dblib
[ ] pdo_firebird
[ ] pdo_mysql
[ ] pdo_oci
[ ] pdo_odbc
[ ] pdo_pgsql
[ ] pdo_sqlite
[ ] pgsql
[ ] posix
[ ] pspell
[ ] readline
[ ] recode
[ ] shmop
[ ] snmp
[ ] soap
[ ] sockets
[ ] sodium
[ ] sqlite3
[ ] sysvmsg
[ ] sysvsem
[ ] sysvshm
[ ] tidy
[ ] wddx
[ ] xmlrpc
[ ] zend_test
[ ] zip