dyld: библиотека не загружена: /usr/local/lib/libpng16.16.dylib с чем-либо связанным с php

Использование любых приложений 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 были установлены с использованием homebrew, за исключением композитора (установленного с помощью curl)

Я попытался удалить 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 

Im работает с Mavericks (10.9.2) и PHP 5.5.1.

Заранее спасибо!

Я предлагаю вам запустить:

 $ brew update && brew upgrade 

Еще пару минут назад у меня тоже была эта проблема. Поскольку у меня есть обновленная версия PHP, я решил ее с помощью:

 $ brew reinstall php55 

Надеюсь, это поможет.

Я следовал вышеизложенному (никогда не было плохой идеи, чтобы постоянно обновляться с варевом), и все еще имел такой же точный вопрос:

 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 

1) Mac OS X эквивалент местоположения

Это потому, что для 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 reinstall libpng продолжал устанавливать libpng16, а не libpng15, поэтому я был вынужден сделать это.

В моем случае это было 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, но это работает как быстрое исправление повязки.

Я знаю, что этот вопрос уже имеет ответ, который дает решение. Но я хочу дать вам два цента, чтобы помочь людям понять проблему. При получении такой же проблемы я создал конкретный вопрос . У меня такая же проблема, но только с PHPStorm. И точно, когда я пытаюсь запустить тест из редактора.

dyld – динамический компоновщик

Я сеял, что dyld искал /usr/local/lib/libpng15.15.dylib, но внутри моего / usr / local / lib / не было. В этой папке я получил libpng16.16.dylib.

Благодаря комментарию я обнаружил, что my / usr / bin / php является указателем на php 5.5.8. Вместо этого … / usr / local / bin / php было 5.5.14. PHPStorm работал с / usr / bin / php, который является конфигурацией по умолчанию. Когда я запускаю php через консоль, я запускаю / urs / local / bin / php.

Итак, … Если вы получите некоторую ошибку, возможно, у вас есть некорректная конфигурация php. Вот почему

 $ brew update && brew upgrade $ brew reinstall php55 

Но я не знаю, почему это не решает проблему для меня. Может быть, потому что у меня есть

У меня также была эта проблема, и ни одно из решений в этой теме не работало для меня. Как оказалось, проблема заключалась в том, что у меня была эта строка в ~/.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 теперь запускался, файл php.ini из php54 все еще загружался, и я получал это предупреждение каждый раз, когда я вызывал 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 исправило мою проблему.

Мне очень нелегко было с этой ошибкой:

Причина: Несовместимая версия библиотеки: php требует версию 44.0.0 или новее, но libpng16.16.dylib предоставляет версию 42.0.0 Trace / BPT trap: 6

Я сделал все вышеперечисленные вещи с варевом и многое другое … но это было не так!

Проверьте, где находится ваша библиотека:

sudo find / -name libpng16.16.dylib

В моем случае здесь был соответствующий результат:

  • /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

Так как я являюсь пользователем MAMP, оказалось, что ошибка возникла, когда я пытался обновить с PHP 7.1.0 до 7.1.8 ( последний доступ к MAMP php ), поскольку Symfony4 требует как минимум 7.1.3

В конце я установил новую версию MAMP и работал (4.1 – 4.2). Однако, когда вы это делаете, вам нужно сделать резервную копию сначала в папке MAMP / htdoc. Также держите резервную копию, вы компилируете версию php, чем можете жить в MAMP / bin / php

Также, если вы настроите PHP-версию MAMP как ваш интерпретатор PHP-интерфейса CLI, вам необходимо обновить PATH в вашем .bash_profile

Он должен выглядеть примерно так:

export PATH = / Приложения / MAMP / bin / php / php7.1.8 / bin: $ PATH

Надеюсь, это поможет.