dyld: Library not loaded: / usr / local/lib / libpng16.16.dylib ze wszystkim co związane z php

Użycie dowolnej aplikacji php skutkuje:

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

Większość moich aplikacji php została zainstalowana przy użyciu homebrew z wyjątkiem composera (zainstalowanego przy użyciu curl)

Próbowałem usunąć libpng i ponownie zainstalować z homebrew bez skutku.

Następnie należało przełączyć się na najnowszą wersję libpng 1.5 zgodnie z Komunikatem o błędzie:

$ 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

Teraz błąd zmienił się na:

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

Im uruchomiony Mavericks (10.9.2) i PHP 5.5.1.

Dzięki w naprzód!

Author: user3458861, 2014-03-25

11 answers

Proponuję uruchomić:

$ brew update && brew upgrade
Jeszcze kilka minut temu też miałem ten problem. Ponieważ mam aktualną wersję PHP, rozwiązałem ją za pomocą:
$ brew reinstall php55
Mam nadzieję, że to pomoże.
 145
Author: Pera Jovic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-28 04:40:46

Zastosowałem się do powyższego (nigdy nie jest to zły pomysł, aby być na bieżąco z brew tak czy inaczej) i nadal miałem dokładnie ten sam problem:

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

Potem wymyśliłem prostszy sposób:

Szukaj wersji libpng na swoim pudełku:

# 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

Utwórz dowiązanie symboliczne:

LAPTOP:folder Username$ ln -s /usr/local/Cellar/libpng/1.5.14/lib/libpng15.15.dylib /usr/local/lib/libpng15.15.dylib

Spróbuj jeszcze raz:

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

1) Mac OS X odpowiednik locate

 42
Author: phpguru,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-20 10:04:20

To dlatego, że nie ma dowiązań symbolicznych dla libpng. Musisz ponownie połączyć libpng.

brew unlink libpng && brew link libpng

I możesz dostać jakiś błąd. Naprawiłem ten błąd poprawiając uprawnienia. Może to przez odinstalowane macports.

sudo chown -R yourid:staff /usr/local/share/man/

Utwórz link jeszcze raz i będzie działać.

 17
Author: Jonghee Park,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-26 13:34:22

Rozwiązałem to kopiując do brakującego katalogu:

cp /opt/X11/lib/libpng15.15.dylib /usr/local/lib/libpng15.15.dylib

Brew reinstall libpng instalował libpng16, a nie libpng15, więc zostałem zmuszony do wykonania powyższego.

 11
Author: user391339,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-02 06:42:09

W moim przypadku było to libjpeg. Wszystko, co musiałem zrobić, to uciec brew reinstall libjpeg i wszystko po prostu działało!

 8
Author: saada,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-17 12:12:12

Na wypadek gdyby ktoś inny napotkał ten problem rozwiązałem go przez następujące

brew update && brew upgrade # installs libpng 1.6

To spowodowało błąd z innymi pakietami wymagającymi 1.5, z którymi zostały zbudowane, więc podlinkowałem:

cd /usr/local/lib/
ln -s ../Cellar/libpng/1.5.18/lib/libpng15.15.dylib

Teraz oboje żyją w harmonii i ramię w ramię dla różnych pakietów. Lepiej byłoby odbudować pakiety, które zależą od 1.5, ale działa to jako szybka naprawa bandaży.

 4
Author: Alex,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-23 14:13:01

Wiem, że to pytanie ma już odpowiedź, która daje rozwiązanie. Ale chcę ci dać moje dwa centy, aby pomóc ludziom zrozumieć problem. Otrzymanie tego samego problemu stworzyłem konkretne pytanie . Mam ten sam problem, ale tylko z PHPStorm. I dokładnie wtedy, gdy próbuję uruchomić test z edytora.

Dyld jest łącznikiem dynamicznym

Siedziałem, że dyld szukał /usr / local/lib / libpng15.15.dylib, ale w moim / usr / lokalnym / lib / nie było. W tym folderze mam libpng16.16.dylib.

Dzięki komentarzowi odkryłem, że mój / usr / bin / php był wskaźnikiem do php 5.5.8. Zamiast tego ... /usr / local/bin / php was 5.5.14. PHPStorm pracował z /usr/bin/php, który jest domyślną konfiguracją. Kiedy uruchamiam php przez konsolę, uruchamiam / urs / local/bin / php.

Więc, ... Jeśli pojawi się jakiś błąd dyld, może masz złą konfigurację php. To jest powód, ponieważ

$ brew update && brew upgrade
$ brew reinstall php55

Ale nie wiem, dlaczego to nie rozwiązuje problemu dla mnie. Może dlatego, że mam

 3
Author: sensorario,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:47:30

Też miałem ten problem i Żadne z rozwiązań w tym wątku nie zadziałało dla mnie. Jak się okazuje problem polegał na tym, że miałem tę linię w ~/.bash_profile:

alias php="/usr/local/php/bin/php"

I, jak się okazuje, /usr/local/php był tylko dowiązaniem symbolicznym do /usr/local/Cellar/php54/5.4.24/. Więc kiedy wywołałem php -i wciąż wywoływałem php54. Właśnie usunąłem ten wiersz z mojego profilu bash, a potem zadziałało php.

Z jakiegoś powodu, nawet jeśli php55 był teraz uruchomiony, plik php.ini z php54 nadal był ładowany i otrzymywałem to Ostrzeżenie za każdym razem, gdy wywołanie 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

Aby to naprawić, dodałem następujący wiersz do mojego profilu bash:

export PHPRC=/usr/local/etc/php/5.5/php.ini

I wtedy wszystko działało normalnie!

 1
Author: Matt Korostoff,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-29 15:53:37

Miałem ten błąd, który nie został rozwiązany przez brew update && brew upgrade. Z jakiegoś powodu musiałem zainstalować go od zera:

$ brew install libpng

 1
Author: osowskit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-30 21:17:31

Bardzo ciężko mi było z tym błędem:

Powód: niezgodna wersja biblioteki: php wymaga wersji 44.0.0 lub nowszej, ale libpng16. 16.dylib zapewnia wersja 42.0.0 Trace / BPT trap: 6

Zrobiłem wszystkie powyższe rzeczy z brew i wiele więcej ... ale to nie było to !

Sprawdź gdzie jest Twoja biblioteka:

Sudo find / -nazwa libpng16. 16.dylib

W moim przypadku tutaj był odpowiedni wynik :

  • /usr/local/lib/libpng16. 16.dylib
  • /usr/local/Cellar/libpng/1.6.34/lib/libpng16.16.dylib
  • /Applications/MAMP/Library/lib/libpng16. 16.dylib
  • /opt/X11/lib/libpng16. 16.dylib

Więc jak jestem użytkownikiem MAMP okazało się, że błąd pojawił się podczas próby aktualizacji z PHP 7.1.0 do 7.1.8 ( ostatni MAMP php dostępny ) jako Symfony4 wymagają co najmniej 7.1.3

Na koniec zainstalowałem nową wersję MAMPA i zadziałało (4.1-4.2). Jednak bądź ostrożny, gdy to robisz, musisz najpierw wykonać kopię zapasową wszystkiego w folderze MAMP / htdoc. Przechowuj również kopię zapasową niestandardowej skompilowanej wersji php niż może żyć w MAMP / bin / php. (W moim przypadku miałem specjalną wersję PHP ze sterownikami Oracle).

Również jeśli skonfigurowałeś wersję MAMP php jako interpreter CLI php, musisz zaktualizować ścieżkę w swoim .bash_profile

Powinno wyglądać mniej więcej tak:

Eksport PATH= / Applications/MAMP/bin/php/php7.1.8 / bin:$PATH

Mam nadzieję, że to pomoże.

 1
Author: Kaizoku Gambare,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-26 10:46:46

Mam ten problem po aktualizacji MAMP, a ustawiona przeze mnie niestandardowa ścieżka $była błędna z powodu nowej wersji php, więc najpierw załadowano niewłaściwą wersję php i to właśnie ta wersja php wywołała błąd.

Aktualizacja ścieżki w moim .bash_profile naprawił mój problem.

 0
Author: axxxman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-06 14:49:04