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를 제외하고 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 다시 설치 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 / 안에는 없었습니다. 그 폴더에 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
그러나 이것이 왜 나에게 문제를 해결하지 못하는지 모르겠습니다. 어쩌면 내가 가지고 있기 때문에