経緯
開発ブランチにマージされているコードに対し、
CodeBuildを通してテストを行ったら__syntax error__を吐いて死んだので、
ローカルのMacにPullしてきて単純にphpコマンドを叩いたら
$ php -l ./app/hoge/HogeController.php
dyld: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib
Referenced from: /Users/t_ueyama/.phpbrew/php/php-7.2.22/bin/php
Reason: image not found
Abort trap: 6
違うエラーが返ってきてこれ何ぞ?ってなった話です。
原因と解決
見ての通りopensslが絡んでるなぁと分かるのですが、何をどうすりゃいいのか?状態。
先週何となくbrew update とか brew upgradeした事を思い出したのと、
そのときopensslのアップデートがあった様な記憶が蘇る。。
ググると下記をしろとな。
$ brew update && brew upgrade
エラー変わらず。じゃあと
$ brew install openssl
Warning: openssl@1.1 1.1.1d is already installed and up-to-date
To reinstall 1.1.1d, run `brew reinstall openssl@1.1`
お、メッセージが変わった。
お言葉に甘えて
$ brew reinstall openssl@1.1
エラー変わらず。。
ここに答えがあったのですが、使用するopensslのバージョンを合わさないとダメやでって事でした。
https://stackoverflow.com/questions/59006602/dyld-library-not-loaded-usr-local-opt-openssl-lib-libssl-1-0-0-dylib
$ brew switch openssl 1.0.2s
$ php -v
PHP 7.2.22 (cli) (built: Aug 30 2019 12:20:57) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
俺のphpが帰ってきた。