※当サイトはリンクに広告ページが含まれている場合があります
まず、動作環境は以下のとおり。
- MacBook Air M1 2020
- Sonoma 14.4.1
- Homebrew 4.2.2
PHPは事務処理に便利
見積書や請求書の作成など品目が増えると、計算が必要になるため、PHPを使っています。
3桁ごとのカンマ処理を施してPDF化できるのも地味に便利ですし。
月末に請求書処理をしようと、PHPのローカルサーバーを立ち上げようとしたときに、事件が起こりました・・・
以下のようなエラーが発生。
$ php -v
dyld[5002]: Library not loaded: /opt/homebrew/opt/icu4c/lib/libicuio.70.dylib
Referenced from: <A6D155AA-AC11-32AD-ADDE-5CD17CC3D936> /opt/homebrew/Cellar/php@8.0/8.0.19/bin/php
Reason: tried: '/opt/homebrew/opt/icu4c/lib/libicuio.70.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/opt/icu4c/lib/libicuio.70.dylib' (no such file), '/opt/homebrew/opt/icu4c/lib/libicuio.70.dylib' (no such file), '/usr/local/lib/libicuio.70.dylib' (no such file), '/usr/lib/libicuio.70.dylib' (no such file, not in dyld cache), '/opt/homebrew/Cellar/icu4c/73.2/lib/libicuio.70.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/Cellar/icu4c/73.2/lib/libicuio.70.dylib' (no such file), '/opt/homebrew/Cellar/icu4c/73.2/lib/libicuio.70.dylib' (no such file), '/usr/local/lib/libicuio.70.dylib' (no such file), '/usr/lib/libicuio.70.dylib' (no such file, not in dyld cache)
zsh: abort php -v
こういうときは慌てず、騒がず、エラー原因を1つずつ読んでいきましょう!
って、本当はかなり慌ててしまったのですが・・・😅
原因はHomebrewのアップグレード
最近、何かシステム関係でいじったかな、と記憶を辿っていくと、Homebrewのアップグレードをしていました。
なぜアップグレードをしたのかは記憶していません・・・🤣
ともかく、以下の記事を見つけ、エラーの理由がはっきりしました。
参考:【Homebrew】brew upgradeしたらPHP8.0が使えなくなった
$ ls /opt/homebrew/opt/icu4c/lib/
icu libicuio.73.2.dylib libicutu.73.dylib
libicudata.73.2.dylib libicuio.73.dylib libicutu.a
libicudata.73.dylib libicuio.a libicutu.dylib
libicudata.a libicuio.dylib libicuuc.73.2.dylib
libicudata.dylib libicutest.73.2.dylib libicuuc.73.dylib
libicui18n.73.2.dylib libicutest.73.dylib libicuuc.a
libicui18n.73.dylib libicutest.a libicuuc.dylib
libicui18n.a libicutest.dylib pkgconfig
libicui18n.dylib libicutu.73.2.dylib
つまり、エラーの原因は、
- brew upgradeした結果、icu4cのバージョンが73に更新されてしまっていた
- PHPは、icu4cのバージョン70を参照しようとしたが、バージョン70がないと怒っている
ということだったわけです。
PHP8.3にして解決
上の記事では、icu4cのダウングレード方法が解説されているのですが、ここで、私はある1つの事実に気づきました。
あれ、PHP8.0って、まだ使っていて大丈夫だっけ???
調べてみると、PHP8.0のセキュリティサポート期限は2023年11月26日・・・😅
ということで、以下の記事を参考にPHPを8.3にアップグレード。ついでに、icu4cの問題も自動的に解決されないかな、という期待を込めて✌
参考:【Homebrew】PHP7.4からPHP8.2へアップグレードする
php -vでバージョンを確認したところ、無事解決✌✌✌
$ php -v
PHP 8.3.11 (cli) (built: Aug 30 2024 16:34:18) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.11, Copyright (c) Zend Technologies
with Zend OPcache v8.3.11, Copyright (c), by Zend Technologies
皆さんが色々な記事を書いてくれていて本当にありがたいことです。
この記事も誰かの役に立てばいいですね😉
あなたのご質問・ご相談に、月1回、無料・本音で回答します。
ご質問・ご相談は、登録後に届くメールから送っていただけます。費用は一切かかりません。「お悩み相談室」というクローズドな場だからこそ、踏み込んだ内容の質問にも回答できます。
これまでに、こんなご質問・ご相談に回答してきました。
- コンサル(3号業務)を主力業務にするには、どうすれば良いか?
- どのようにして顧問料を上げれば良いか?
- 営業が苦手で、新規の顧客獲得ができない
- 業務をどう絞り込めば良いか?
- 一人社労士のままで良いのか、人を雇うべきか?
- 苦手・相性の悪い顧問先と、どう付き合うか?
- 生成AIの時代、社労士は今後どう生き残るか?
なぜ、無料で同業の社労士からの相談に乗るのか?
それは「本当に顧客のために活動できる社労士仲間を増やしたい」からです。
私自身、社労士という資格に誇りを持っています。企業からの社労士に対する不満をよく聞きますし、「社労士なんて役に立たない」と思われることは、正直悔しいです。
- 信頼される・信頼できる社労士の仲間を増やしていきたい
そんな想いから、少しでも社労士業界全体のレベルアップに貢献できればと考えています。
登録は無料・月1回配信・配信解除いつでも可能
※ 登録後、本人確認のメールをお送りします。届かない場合は迷惑メールフォルダもご確認ください。