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が帰ってきた。
Author And Source
この問題について(php -vでdyld: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib), 我々は、より多くの情報をここで見つけました https://qiita.com/takuji_ueyama/items/07e6c6f6bd78fd6c2d15著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .