Phpアプリケーションを使用すると、次の結果になります。
dyld: Library not loaded: /usr/local/lib/libpng15.15.dylib
Referenced from: /usr/local/bin/php
Reason: image not found
[1] 4494 trace trap php
私のphpアプリケーションのほとんどは、composer(curlを使用してインストール)を除き、homebrewを使用してインストールされました。
Libpngを削除し、homebrewで再インストールしてみました。
次に、エラーメッセージに記載されているように、最新バージョンのlibpng 1.5に切り替えました。
$ brew info libpng
libpng: stable 1.6.10 (bottled)
http://www.libpng.org/pub/png/libpng.html
/usr/local/Cellar/libpng/1.5.17 (15 files, 1.0M)
Poured from bottle
/usr/local/Cellar/libpng/1.5.18 (15 files, 1.0M)
Poured from bottle
/usr/local/Cellar/libpng/1.6.10 (17 files, 1.3M) *
$ brew switch libpng 1.5.18
Cleaning /usr/local/Cellar/libpng/1.5.17
Cleaning /usr/local/Cellar/libpng/1.5.18
Cleaning /usr/local/Cellar/libpng/1.6.10
16 links created for /usr/local/Cellar/libpng/1.5.18
エラーは次のように変更されました。
dyld: Library not loaded: /usr/local/lib/libpng16.16.dylib
Referenced from: /usr/local/lib/libfreetype.6.dylib
Reason: image not found
[1] 6993 trace trap phpunit
Mavericks(10.9.2)とPHPを実行している5.5.1。
前もって感謝します!
実行することをお勧めします:
$ brew update && brew upgrade
数分前まで、私もこの問題を抱えていました。最新のPHPバージョンがあるため、次のように解決しました。
$ brew reinstall php55
お役に立てば幸いです。
私は上記に従いました(とにかくbrewを最新の状態に保つことは決して悪い考えではありません)、それでも同じ正確な問題がありました:
LAPTOP:folder Username$ php -v
dyld: Library not loaded: /usr/local/lib/libpng15.15.dylib
Referenced from: /usr/local/bin/php
Reason: image not found
Trace/BPT trap: 5
次に、より簡単な方法を見つけました。
ボックスでlibpngバージョンを検索します。
# Requires locate & updatedb for mac os x
# See Link [1]
LAPTOP:folder Username$ locate libpng15.15.dylib
/Applications/GIMP.app/Contents/Resources/lib/libpng15.15.dylib
/usr/X11/lib/libpng15.15.dylib
/usr/local/Cellar/libpng/1.5.14/lib/libpng15.15.dylib
シンボリックリンクを作成します。
LAPTOP:folder Username$ ln -s /usr/local/Cellar/libpng/1.5.14/lib/libpng15.15.dylib /usr/local/lib/libpng15.15.dylib
再試行する:
LAPTOP:folder Username$ php -v
PHP 5.3.26 (cli) (built: Aug 25 2013 16:07:23)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
Libpngのシンボリックリンクがないためです。 libpngを再度リンクする必要があります。
brew unlink libpng && brew link libpng
また、エラーが発生する場合があります。許可を修正して、このエラーを修正しました。たぶん、それはmacportsのアンインストールが原因です。
Sudo chown -R yourid:staff /usr/local/share/man/
再度リンクを作成すると、機能します。
見つからないディレクトリにコピーすることでこれを解決しました:
cp /opt/X11/lib/libpng15.15.dylib /usr/local/lib/libpng15.15.dylib
brew restart libpngはlibpng15ではなくlibpng16をインストールし続けたので、上記を強制されました。
私の場合、それはlibjpeg
でした。私がしなければならなかったのは、brew reinstall libjpeg
を実行するだけで、すべてがうまくいきました!
他の誰かがこの問題に遭遇した場合に備えて、次の方法で解決しました
brew update && brew upgrade # installs libpng 1.6
これにより、ビルドに使用された1.5を必要とする他のパッケージでエラーが発生したため、リンクしました。
cd /usr/local/lib/
ln -s ../Cellar/libpng/1.5.18/lib/libpng15.15.dylib
現在、彼らは調和の取れた生活を送っており、さまざまなパッケージを並べています。 1.5に依存するパッケージを再構築することをお勧めしますが、これは簡単な包帯修正として機能します。
この質問には、解決策を提供する答えが既にあることがわかっています。しかし、人々に問題を理解してもらうために2セントを差し上げたいと思います。私が作成した同じ問題を取得 特定の質問 。同じ問題が発生しましたが、PHPStormのみです。そして、まさに私がエディターからテストを実行しようとしたとき。
dyld は動的リンカーです
私はdyldが/usr/local/lib/libpng15.15.dylibを探していたが、/ usr/local/lib /の中にはないことをsoいた。そのフォルダーにlibpng16.16.dylibが入っています。
コメントのおかげで、私の/ usr/bin/phpがphp 5.5.8へのポインターであることがわかりません。代わりに、.../usr/local/bin/phpは5.5.14でした。 PHPStormは、デフォルトの設定である/ usr/bin/phpで動作しました。コンソール経由でphpを実行すると、/ urs/local/bin/phpが実行されます。
したがって、... dyldエラーが発生した場合は、PHP構成が間違っている可能性があります。それが理由です
$ brew update && brew upgrade
$ brew reinstall php55
しかし、なぜこれで問題が解決しないのかわかりません。たぶん私が持っているから
私はこのエラーで非常に苦労しました:
理由:互換性のないライブラリバージョン:phpはバージョン44.0.0以降を必要としますが、libpng16.16.dylibはバージョン42.0.0のTrace/BPTトラップを提供します:6
私は上記のことをすべてbrewなどで行いました...しかし、そうではありませんでした!
ライブラリの場所を確認します。
Sudo find/-name libpng16.16.dylib
私の場合、関連する結果は次のとおりです。
私はMAMPユーザーなので、PHP 7.1.0から7.1.8に更新しようとしてエラーが発生したことがわかりました( 利用可能な最後のMAMP php ) Symfony4には少なくとも7.1.3が必要です
最後に、MAMPの新しいバージョンをインストールし、動作しました(4.1から4.2)。ただし、これを行うときは注意が必要です。最初にMAMP/htdocフォルダー内のすべてをバックアップする必要があります。また、MAMP/bin/phpに保存できるカスタムコンパイルされたphpバージョンのバックアップを保持します。 (私の場合、Oracleドライバーを備えた特別なPHPバージョンがありました)。
また、MAMP phpバージョンをCLI phpインタープリターとして構成した場合、.bash_profileのPATHを更新する必要があります
次のようになります。
export PATH =/Applications/MAMP/bin/php/php7.1.8/bin:$ PATH
これが役立つことを願っています。
私もこの問題を抱えていましたが、このスレッドの解決策はどれも役に立ちませんでした。結局のところ、問題は、~/.bash_profile
に次の行があることです。
alias php="/usr/local/php/bin/php"
そして、判明したように、/usr/local/php
は/usr/local/Cellar/php54/5.4.24/
への単なるシンボリックリンクでした。したがって、php -i
を呼び出したとき、まだphp54を呼び出していました。 bashプロファイルからこの行を削除したところ、phpが機能しました。
何らかの理由で、php55が現在実行されていても、php54からのphp.ini
ファイルがまだロードされており、phpを呼び出すたびにこの警告を受け取りました。
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/Cellar/php54/5.4.38/lib/php/extensions/no-debug-non-zts-20100525/memcached.so' - dlopen(/usr/local/Cellar/php54/5.4.38/lib/php/extensions/no-debug-non-zts-20100525/memcached.so, 9): image not found in Unknown on line 0
これを修正するために、bashプロファイルに次の行を追加しました。
export PHPRC=/usr/local/etc/php/5.5/php.ini
そして、すべてが正常に機能しました!
brew update && brew upgrade
では解決されなかったこのエラーがありました。何らかの理由で私はゼロからインストールする必要がありました:
$ brew install libpng
MAMPの更新後にこの問題が発生し、設定したカスタム$ PATHが新しいphpバージョンのため間違っていたため、誤ったバージョンのphpが最初にロードされ、エラーを引き起こしたのはそのバージョンのphpでした。
.bash_profileのパスを更新すると、問題が修正されました。