php -vでdyld: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib


経緯

開発ブランチにマージされているコードに対し、
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: [email protected] 1.1.1d is already installed and up-to-date
To reinstall 1.1.1d, run `brew reinstall [email protected]`

お、メッセージが変わった。
お言葉に甘えて

$ brew reinstall [email protected]

エラー変わらず。。

ここに答えがあったのですが、使用する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が帰ってきた。