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