Die Verwendung einer PHP-Anwendung führt zu:
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
Die meisten meiner PHP-Anwendungen wurden mit Homebrew installiert, mit Ausnahme von Composer (installiert mit Curl).
Ich habe erfolglos versucht, das libpng zu entfernen und mit homebrew neu zu installieren.
Als nächstes musste auf die neueste Version von libpng 1.5 umgeschaltet werden, wie in der Fehlermeldung angegeben:
$ 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
Jetzt hat sich der Fehler geändert in:
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
Ich verwende Mavericks (10.9.2) und PHP 5.5.1.
Danke im Voraus!
php
osx-mavericks
libpng
dyld
user3458861
quelle
quelle
Ich folgte dem oben Gesagten (nie eine schlechte Idee, um sowieso mit dem Brauen auf dem Laufenden zu bleiben) und hatte immer noch genau das gleiche Problem:
Dann fand man einen einfacheren Weg:
Suchen Sie auf Ihrer Box nach Ihren libpng-Versionen:
Machen Sie einen Symlink:
Versuch es noch einmal:
1) Mac OS X entspricht der Lokalisierung
quelle
mdfind libpng15.15.dylib
erfordert keinen Lokalisierungs-HackEs liegt daran, dass es keine Symlinks für libpng gibt. Sie müssen libpng erneut verknüpfen.
Und Sie können einen Fehler bekommen. Ich habe diesen Fehler durch Korrigieren der Berechtigung behoben. Vielleicht liegt es an deinstallierten Macports.
Erstellen Sie den Link erneut und es wird funktionieren.
quelle
brew link unixodbc
. Aber mein System hatte das Eigentum an diesem bestimmten Paket.Ich habe dies gelöst, indem ich es in das fehlende Verzeichnis kopiert habe:
Die Neuinstallation von Brew libpng installierte weiterhin libpng16, nicht libpng15, so dass ich gezwungen war, die oben genannten Schritte auszuführen.
quelle
Warning: Unbrewed dylibs were found in /usr/local/lib. If you didn't put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted. Unexpected dylibs: /usr/local/lib/libpng15.15.dylib
In meinem Fall war es
libjpeg
. Alles was ich tun musste war rennenbrew reinstall libjpeg
und alles hat einfach funktioniert!quelle
libpng
.brew reinstall libpng
löste esNur für den Fall, dass jemand anderes auf dieses Problem stößt, habe ich es wie folgt gelöst
Dies verursachte einen Fehler bei anderen Paketen, für die 1.5 erforderlich war und mit denen sie erstellt wurden. Deshalb habe ich ihn verknüpft:
Jetzt leben beide in Harmonie und Seite an Seite für die verschiedenen Pakete. Es wäre besser, die Pakete, die von 1.5 abhängen, neu zu erstellen, aber dies funktioniert als schnelle Bandagenkorrektur.
quelle
Ich weiß, dass diese Frage bereits eine Antwort hat, die eine Lösung gibt. Aber ich möchte Ihnen meine zwei Cent geben, damit die Leute das Problem besser verstehen. Ich habe eine bestimmte Frage erstellt . Ich habe das gleiche Problem, aber nur mit PHPStorm. Und genau dann, wenn ich versuche, den Test über den Editor auszuführen.
dyld ist der dynamische Linker
Ich säe, dass dyld nach /usr/local/lib/libpng15.15.dylib gesucht hat, aber in meiner / usr / local / lib / gab es keine. In diesem Ordner habe ich libpng16.16.dylib.
Dank eines Kommentars verstehe ich, dass mein / usr / bin / php ein Zeiger auf PHP 5.5.8 war. Stattdessen war ... / usr / local / bin / php 5.5.14. PHPStorm arbeitete mit / usr / bin / php, der Standardkonfiguration. Wenn ich PHP über die Konsole ausführe, führe ich / urs / local / bin / php aus.
Also, ... Wenn Sie einen Dyld-Fehler erhalten, haben Sie möglicherweise eine falsche PHP-Konfiguration. Das ist der Grund dafür
Aber ich weiß nicht, warum dies das Problem für mich nicht löst. Vielleicht weil ich habe
quelle
Ich hatte auch dieses Problem und keine der Lösungen in diesem Thread funktionierte für mich. Wie sich herausstellte, war das Problem, dass ich diese Zeile hatte in
~/.bash_profile
:Und wie sich herausstellte,
/usr/local/php
war es nur ein Symlink zu/usr/local/Cellar/php54/5.4.24/
. Als ichphp -i
aufrief, rief ich immer noch php54 auf. Ich habe diese Zeile gerade aus meinem Bash-Profil gelöscht und dann hat PHP funktioniert.Aus irgendeinem Grund wurde die
php.ini
Datei von php54 immer noch geladen, obwohl php55 jetzt ausgeführt wurde , und ich erhielt diese Warnung jedes Mal, wenn ich php aufrief:Um dies zu beheben, habe ich meinem Bash-Profil gerade die folgende Zeile hinzugefügt:
Und dann hat alles wie gewohnt funktioniert!
quelle
Ich hatte diesen Fehler, der nicht von gelöst wurde
brew update && brew upgrade
. Aus irgendeinem Grund musste ich es von Grund auf neu installieren:$ brew install libpng
quelle
Ich hatte es sehr schwer mit diesem Fehler:
Ich habe all die oben genannten Dinge mit Gebräu und vielem mehr gemacht ... aber das war es nicht!
Überprüfen Sie, wo sich Ihre Bibliothek befindet:
In meinem Fall war hier das relevante Ergebnis:
Als MAMP-Benutzer stellte sich heraus, dass der Fehler auftrat, als ich versuchte, von PHP 7.1.0 auf 7.1.8 zu aktualisieren ( letzte verfügbare MAMP-PHP) ) zu aktualisieren, da Symfony4 mindestens 7.1.3 erfordert
Am Ende habe ich die neue Version von MAMP installiert und es hat funktioniert (4.1 bis 4.2). Seien Sie jedoch vorsichtig, wenn Sie dies tun. Sie müssen zuerst alles in Ihrem MAMP / htdoc-Ordner sichern. Führen Sie auch ein Backup Ihrer benutzerdefinierten kompilierten PHP-Version, die in MAMP / bin / PHP gespeichert werden kann. (In meinem Fall hatte ich eine spezielle PHP-Version mit Oracle-Treibern).
Wenn Sie die MAMP-PHP-Version als Ihren CLI-PHP-Interpreter konfiguriert haben, müssen Sie den PATH in Ihrem .bash_profile aktualisieren
Es sollte ungefähr so aussehen:
Ich hoffe das kann helfen.
quelle
Ich habe dieses Problem nach dem Aktualisieren von MAMP erhalten, und der benutzerdefinierte $ PATH, den ich festgelegt hatte, war aufgrund der neuen PHP-Version falsch. Daher wurde zuerst die falsche PHP-Version geladen, und es war diese PHP-Version, die den Fehler auslöste.
Das Aktualisieren des Pfads in meinem .bash_profile hat mein Problem behoben.
quelle