dyld: लाइब्रेरी लोड नहीं: / phr/local/lib/libpng16.16.dylib php से संबंधित


119

किसी भी 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 एप्लिकेशन कंपोज़र के अपवाद के साथ होमब्रे का उपयोग करके स्थापित किए गए थे (कर्ल का उपयोग करके स्थापित)

मैं 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।

अग्रिम में धन्यवाद!

जवाबों:


156

मेरा सुझाव है कि आप चलाएं:

$ brew update && brew upgrade

कुछ मिनट पहले तक मुझे भी यह समस्या थी। क्योंकि मेरे पास PHP संस्करण अद्यतित है, इसलिए मैंने इसे हल किया:

$ brew reinstall php55

उम्मीद है की वो मदद करदे।


धन्यवाद, मैंने होमब्रेव को पूरी तरह से अनइंस्टॉल किया और फिर से स्थापित किया, लेकिन मुझे लगता है कि यह एक बेहतर विकल्प होगा।
user3458861

मेरे पास एक अलग कार्यक्रम (अनुग्रह) के साथ एक ही मुद्दा था और इसने इसे तय किया।
mstringer

1
शायद सहायक: यह संभव है ImageMagick इसके लिए अपराधी है। मैं ImageMagick तिरस्कार / usr / स्थानीय / बिन / तुलना के साथ एक समान समस्या थी जो मैं अलग करने के लिए जा रहा था।
phpguru

मुझे $ काढ़ा अपग्रेड करने की ज़रूरत नहीं थी - लेकिन $ काढ़ा अद्यतन और $ काढ़ा पुनर्स्थापना php53 ने मेरे लिए काम किया।
थॉमस बेनेट

चेतावनी: अपग्रेड आपके सभी (पुराने) फॉर्मूले को अपडेट करेगा और इसमें कुछ समय लग सकता है!
laffuste

42

मैंने उपरोक्त का पालन किया (कभी भी किसी भी तरह का काढ़ा पीने के लिए बुरा विचार नहीं है) और अभी भी वही सटीक मुद्दा था:

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) मैक ओएस एक्स का पता लगाने के बराबर


8
Btw, mdfind libpng15.15.dylibहैक का पता लगाने की आवश्यकता नहीं है
Jure C.

धन्यवाद @JureC।, मुझे mdfind के बारे में पता नहीं था। आप sudo find /name libpng15 -print का भी उपयोग कर सकते हैं लेकिन आउटपुट एक टैड वर्बोज़ है।
phpguru

यह एकमात्र ऐसी चीज है जो मेरे लिए काम करती है, धन्यवाद: D
holmeswatson

यह मेरे लिए भी काम किया। मुद्दा मेरे पास था कि libpng15 अब एक पुराना संस्करण है, इसलिए अपडेट ठीक नहीं होगा।
Bigtunacan

1
यह एकमात्र समाधान है जो मेरे लिए काम करता है! धन्यवाद!
JLuiz

18

यह इसलिए है क्योंकि libpng के लिए कोई सहानुभूति नहीं है। आपको फिर से libpng लिंक करना होगा।

brew unlink libpng && brew link libpng

और आपको कुछ त्रुटि हो सकती है। मैंने उस त्रुटि को अनुमति सुधार कर ठीक कर दिया। हो सकता है कि यह अनइंस्टॉल किए गए macports के कारण हो।

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

फिर से लिंक बनाएं और यह काम करेगा।


एल Capitan पर, homebrew-php का उपयोग कर, और यह मेरे लिए एक समाधान होने के नाते समाप्त हो गया। उपरोक्त लिंकिंग के अलावा, मुझे भी भागना पड़ा brew link unixodbc। लेकिन मेरे सिस्टम में उस विशेष पैकेज का स्वामित्व था।
justinpage

11

मैंने इसे लापता निर्देशिका पर कॉपी करके हल किया:

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

शराब बनाना libpng libpng16 स्थापित करता रहा, libpng15 नहीं, इसलिए मुझे ऊपर करने के लिए मजबूर किया गया था।


यह एक अतिरिक्त समस्या पैदा करेगा जब चल रहे डॉक्टर। 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
जॉनतसजमो

8

मेरे मामले में यह था libjpeg। मुझे brew reinstall libjpegबस इतना करना था और सब कुछ बस काम कर गया!


2
मेरे मामले में यह था libpngbrew reinstall libpngइसे हल किया
user34812

4

बस के मामले में किसी और को इस समस्या में चलाता है मैं इसे निम्नलिखित द्वारा हल किया

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 पर निर्भर करते हैं, लेकिन यह एक त्वरित बैंड फिक्स के रूप में काम करता है।


3

मुझे पता है कि इस सवाल का पहले से ही एक जवाब है जो एक समाधान देता है। लेकिन मैं आपको लोगों को समस्या को समझने में मदद करने के लिए अपने दो सेंट देना चाहता हूं। एक ही समस्या हो रही है कि मैंने एक विशिष्ट प्रश्न बनाया है । मैं एक ही समस्या है, लेकिन केवल PHPStorm के साथ। और बिल्कुल जब मैं संपादक से परीक्षण चलाने की कोशिश करता हूं।

डाइल्ड गतिशील लिंकर है

मैं बोता हूं कि डाइल्ड /usr/local/lib/libpng15.15.dylib की तलाश कर रहा था, लेकिन मेरे / usr / स्थानीय / lib / के अंदर नहीं था। उस फ़ोल्डर में, मुझे libpng16.16.dylib मिला।

एक टिप्पणी के लिए धन्यवाद, मुझे लगता है कि मेरे / usr / बिन / php 5.5.8 php के लिए एक सूचक था। इसके बजाय, ... / usr / स्थानीय / बिन / php 5.5.14 था। PHPStorm / usr / bin / php के साथ काम किया है जो डिफ़ॉल्ट कॉन्फ़िगरेशन है। जब मैं कंसोल के माध्यम से php चलाता हूं, तो मैं / urs / लोकल / बिन / php चलाता हूं।

तो, ... यदि आपको कुछ डाइल्ड त्रुटि मिलती है, तो शायद आपके पास कुछ गलत php कॉन्फ़िगरेशन है। यही कारण है कि

$ brew update && brew upgrade
$ brew reinstall php55

लेकिन मुझे नहीं पता कि यह मेरे लिए समस्या का समाधान क्यों नहीं है। शायद इसलिए कि मेरे पास है


1

मुझे भी यह समस्या थी, और इस सूत्र में किसी भी समाधान ने मेरे लिए काम नहीं किया। जैसा कि यह पता चला है, समस्या यह थी कि मेरे पास यह रेखा थी ~/.bash_profile:

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

और, जैसा कि यह पता चला है, /usr/local/phpसिर्फ एक सहानुभूति थी /usr/local/Cellar/php54/5.4.24/। इसलिए जब मैंने आह्वान किया php -iतब भी मैं php54 का आह्वान कर रहा था। मैंने बस अपने बैश प्रोफ़ाइल से इस लाइन को हटा दिया, और फिर php ने काम किया।

किसी कारण से, भले ही php55 अब चल रहा था, php.iniphp54 से फ़ाइल अभी भी भरी हुई थी, और मुझे हर बार यह चेतावनी मिली कि मैंने 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

और फिर सब कुछ सामान्य के रूप में काम किया!


1

मेरे पास यह त्रुटि थी जिसे हल नहीं किया गया था brew update && brew upgrade। किसी कारण से मुझे इसे खरोंच से स्थापित करने की आवश्यकता थी:

$ brew install libpng


1

इस त्रुटि के साथ मेरे पास बहुत कठिन समय था:

कारण: असंगत पुस्तकालय संस्करण: php को संस्करण 44.0.0 या बाद के संस्करण की आवश्यकता होती है, लेकिन libpng16.16.dylib संस्करण 42.0.0 ट्रेस / बीपीटी जाल प्रदान करता है: 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 उपलब्ध है ) को सिम्फनी 4 के रूप में अद्यतन करने की कोशिश कर रहा था, तो त्रुटि दिखाई दी, क्योंकि कम से कम 7.1.3 की आवश्यकता होती है

अंत में मैंने MAMP का नया संस्करण इंस्टाल किया और इसने (4.1 से 4.2) काम किया। हालाँकि जब आप ऐसा कर रहे होते हैं, तो आपको अपने MAMP / htdoc फोल्डर में सबसे पहले बैकअप की आवश्यकता होती है। इसके अलावा अपने कस्टम संकलित php संस्करण का बैकअप MAMP / bin / php में रह सकते हैं। (मेरे मामले में मेरे पास ओरेकल ड्राइवरों के साथ एक विशेष PHP संस्करण था)।

इसके अलावा अगर आपने MAMP php संस्करण को अपने CLI php दुभाषिया के रूप में कॉन्फ़िगर किया है, तो आपको अपने .bash_profile में PHH को अपडेट करना होगा।

यह कुछ इस तरह दिखना चाहिए :

PATH = / Applications / MAMP / bin / php / php7.1.8 / bin: $ PATH निर्यात करें

मुझे उम्मीद है कि यह मदद कर सकता है।


0

MAMP को अपडेट करने के बाद मुझे यह समस्या मिली, और जो कस्टम $ PATH मैंने सेट किया था, वह नए php संस्करण के कारण गलत था, इसलिए php का गलत संस्करण पहले लोड किया गया था, और यह php का वह संस्करण था जिसने त्रुटि को ट्रिगर किया था।

मेरे .bash_profile में पथ को अद्यतन करने से मेरी समस्या ठीक हो गई।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.