Menggunakan aplikasi php apa pun menghasilkan:
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
Sebagian besar aplikasi php saya diinstal menggunakan homebrew dengan pengecualian komposer (diinstal menggunakan curl)
Saya mencoba menghapus libpng dan menginstal ulang dengan homebrew tidak berhasil.
Selanjutnya adalah beralih ke versi terbaru libpng 1.5 seperti yang dinyatakan dalam pesan kesalahan:
$ 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
Sekarang kesalahan telah berubah menjadi:
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
Saya menjalankan Mavericks (10.9.2) dan PHP 5.5.1.
Terima kasih sebelumnya!
php
osx-mavericks
libpng
dyld
pengguna3458861
sumber
sumber
Saya mengikuti hal di atas (bagaimanapun juga tidak pernah ada ide buruk untuk tetap up to date dengan minuman) dan masih memiliki masalah yang sama persis:
Kemudian temukan cara yang lebih sederhana:
Cari versi libpng Anda di kotak Anda:
Buat symlink:
Coba lagi:
1) Mac OS X setara dengan cari
sumber
mdfind libpng15.15.dylib
tidak perlu mencari peretasanItu karena tidak ada symlink untuk libpng. Anda perlu menautkan libpng lagi.
Dan Anda mungkin mendapatkan beberapa kesalahan. Saya memperbaiki kesalahan itu dengan mengoreksi izin. Mungkin karena macports yang dihapus.
Buat tautan lagi dan itu akan berhasil.
sumber
brew link unixodbc
. Tetapi sistem saya memiliki kepemilikan atas paket khusus itu.Saya menyelesaikan ini dengan menyalinnya ke direktori yang hilang:
brew instal ulang libpng terus instal libpng16, bukan libpng15 jadi saya terpaksa melakukan hal di atas.
sumber
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
Dalam kasus saya itu
libjpeg
. Yang harus saya lakukan hanyalah berlaribrew reinstall libjpeg
dan semuanya bekerja dengan baik!sumber
libpng
.brew reinstall libpng
menyelesaikannyaKalau-kalau ada orang lain yang mengalami masalah ini, saya menyelesaikannya dengan yang berikut
Ini menyebabkan kesalahan dengan paket lain yang membutuhkan 1.5 yang mereka buat, jadi saya menautkannya:
Sekarang mereka berdua hidup rukun dan berdampingan untuk paket yang berbeda. Akan lebih baik untuk membangun kembali paket yang bergantung pada 1.5, tetapi ini berfungsi sebagai perbaikan cepat.
sumber
Saya tahu pertanyaan ini sudah memiliki jawaban yang memberikan solusi. Tapi saya ingin memberi Anda dua sen untuk membantu orang memahami masalahnya. Mendapatkan masalah yang sama Saya telah membuat pertanyaan khusus . Saya mendapat masalah yang sama, tetapi hanya dengan PHPStorm. Dan persis ketika saya mencoba menjalankan tes dari editor.
dyld adalah linker dinamis
Saya tahu bahwa dyld sedang mencari /usr/local/lib/libpng15.15.dylib tetapi di dalam / usr / local / lib / saya tidak ada. Di folder itu, saya mendapat libpng16.16.dylib.
Berkat sebuah komentar, saya tidak mengerti bahwa / usr / bin / php saya adalah penunjuk ke php 5.5.8. Sebaliknya, ... / usr / local / bin / php adalah 5.5.14. PHPStorm bekerja dengan / usr / bin / php yang merupakan konfigurasi default. Ketika saya menjalankan php melalui konsol, saya menjalankan / urs / local / bin / php.
Jadi, ... Jika Anda mendapatkan error dyld, mungkin Anda memiliki konfigurasi php yang salah. Itulah alasannya karena
Tapi saya tidak tahu mengapa ini tidak menyelesaikan masalah bagi saya. Mungkin karena saya punya
sumber
Saya juga mengalami masalah ini, dan tidak ada solusi di utas ini yang berhasil untuk saya. Ternyata, masalahnya adalah saya memiliki baris ini di
~/.bash_profile
:Dan ternyata,
/usr/local/php
itu hanya symlink ke/usr/local/Cellar/php54/5.4.24/
. Jadi ketika saya memanggilphp -i
saya masih memanggil php54. Saya baru saja menghapus baris ini dari profil bash saya, dan kemudian php berfungsi.Untuk beberapa alasan, meskipun php55 sekarang berjalan,
php.ini
file dari php54 masih dimuat, dan saya menerima peringatan ini setiap kali saya memanggil php:Untuk memperbaikinya, saya baru saja menambahkan baris berikut ke profil bash saya:
Dan kemudian semuanya bekerja seperti biasa!
sumber
Saya mengalami kesalahan ini yang tidak dapat diselesaikan oleh
brew update && brew upgrade
. Untuk beberapa alasan saya perlu menginstalnya dari awal:$ brew install libpng
sumber
Saya mengalami kesulitan dengan kesalahan ini:
Saya melakukan semua hal di atas dengan minuman dan banyak lagi ... tapi bukan ini!
Periksa di mana perpustakaan Anda:
Dalam kasus saya, inilah hasil yang relevan:
Jadi karena saya pengguna MAMP, ternyata kesalahan muncul ketika saya mencoba memperbarui dari PHP 7.1.0 ke 7.1.8 ( php MAMP terakhir yang tersedia ) karena Symfony4 memerlukan setidaknya 7.1.3
Pada akhirnya saya menginstal versi baru MAMP dan berhasil (4.1 hingga 4.2). Namun berhati-hatilah saat Anda melakukan ini, Anda harus mencadangkan terlebih dahulu semua yang ada di folder MAMP / htdoc Anda. Juga simpan cadangan versi php terkompilasi kustom Anda daripada yang dapat hidup di MAMP / bin / php. (Dalam kasus saya, saya memiliki versi PHP khusus dengan driver Oracle).
Juga jika Anda mengkonfigurasi versi php MAMP menjadi CLI php interpreter Anda, Anda harus memperbarui PATH di .bash_profile Anda.
Seharusnya terlihat seperti ini:
Saya harap ini bisa membantu.
sumber
Saya mendapat masalah ini setelah memperbarui MAMP, dan $ PATH khusus yang saya tetapkan salah karena versi php baru, jadi versi php yang salah dimuat terlebih dahulu, dan versi php itulah yang memicu kesalahan.
Memperbarui jalur di .bash_profile saya memperbaiki masalah saya.
sumber