2013-08-22 8 views
5

मैं सिम्फनी 2 में iMagick का उपयोग करने का प्रयास कर रहा हूं। निकाले http://valokuva.org/~mikko/imagick-php54-php53.tgz से php5-4 निर्देशिका सेइमेजिक php windows

1-कॉपी php_imagick_nts.dll PHP के लिए/ext:

मैं PHP 5.4.16 उपयोग कर रहा हूँ और सभी मैं किया है।

2-नाम बदलें php_imagick.dll और "विस्तार = php_imagick.dll" php.ini को इस प्रकार का पृष्ठ

3-बनाएं जोड़ने के लिए यह:

<?php 
    $a = new Imagick(); 
?> 

लेकिन मैं इस प्राप्त करते हैं:

Fatal error: Class ‘Imagick’ not found in C:\xampp\htdocs\info.php 

जब मैं एक सिम्फोनी नियंत्रक में इस का उपयोग करने की कोशिश की, फिर से त्रुटि पाए जाते हैं:

FatalErrorException: Error: Class 'Imagick' not found 

दुर्भाग्य Imagick विस्तार के बारे में विवरण के उत्पादन में प्रकट नहीं "phpinfo()"

इस संस्करण पीएचपी 5.4.16 के साथ असंगत है है?! यदि हां, तो मुझे किस संस्करण का उपयोग करना चाहिए? कहा पे? किसी भी मदद के लिए धन्यवाद ...

+1

क्या आपने कोशिश करने से पहले सर्वर और PHP को पुनरारंभ किया था? –

उत्तर

8

मैंने इमागिक काम करने की कोशिश करने में कई घंटे बिताए, अंततः मुझे यह मिला।

मेरे स्थापना के निर्देश

  1. WAMP 32 बिट स्थापित करें (भले ही आप चल रहे 64 बिट प्रणाली आप WAMP के 32bit संस्करण का उपयोग करना चाहिए)
  2. सेल्सियस के लिए ImageMagick स्थापित करें:/ImageMagick, इस फ़ाइल का उपयोग: https://www.dropbox.com/s/i2mhrhd7sp0ilzk/ImageMagick-6.8.0-3-Q16-windows-dll.exe
  3. PHP के विस्तार फ़ोल्डर में इमेजिक के साथ डीएलएल डालें, उदाहरण के लिए डी: \ wamp32 \ बिन \ php \ php5.4.16 \ ext, मैं इस फ़ाइल का उपयोग किया: https://www.dropbox.com/s/ayankf850l08rm2/php_imagick.dll
  4. php.ini डाल लाइन में "setenv MAGICK_HOME सी:/ImageMagick" उद्धरण चिह्नों के बिना
  5. बेहतर पुनः आरंभ पीसी

मैं Wamp 2.4, पीएचपी 5.4.16, अपाचे 2.4.4, ImageMagick 6.8.0-3 2012-10-24 प्रश्न 16, Imagick 3.1.0RC2 का उपयोग करें - सभी 32 बिट, ओएस Win8 64 बिट

अब यह होना चाहिए काम करते हैं और आपको phpinfo में लोड इमेजिक एक्सटेंशन देखना चाहिए।

मैंने ImageMagick के कई संस्करणों की कोशिश की, लेकिन नए संस्करण काम नहीं कर पाए, 6.8.0-3-Q16-windows-dll ठीक काम करता है।

Symfony2

Symfony2 में इस तरह Imagick का उपयोग करें:

$im = new \Imagick('image.jpg'); 
+0

धन्यवाद।यह एक कोशिश में मेरे लिए काम किया, कई अन्य संस्करणों की कोशिश की जो काम नहीं किया। – Minion

+0

धन्यवाद। तुमने मेरी जान बचाई। : डी –

+0

यह मेरे विन 7, 64-बिट सिस्टम (सभी 32-बिट बाइनरी का उपयोग करके) पर काम नहीं करता है। मैंने रीबूट किया है, आईएम डुप्लीकेट्स के लिए पथ की जांच की है, आदि। मैंने कई बार फिर से स्थापित किया है (WAMP और IM दोनों)। – Dan

2

मुझे यकीन है कि के साथ यह सुनिश्चित करना है कि मॉड्यूल सही तरीके से लोड हो या डीडीएल को अनुचित स्थान पर रखा जा रहा हो।

आप PHP के आंतरिक समारोह extension_loaded() वर्ग उपयोग करने से पहले जाँच करने के लिए

<?php 
    /** 
    * 
    **/ 
    if (!extension_loaded('Imagick')) { 
     //Load some error. 
    } 
?> 

एक विधि आप देख सकते हैं कि मॉड्यूल बिल्कुल भी PHP द्वारा reconsigned की जा रही है है कि उपयोग कर सकते हैं,।

  • अपने phpinfo()
  • के भीतर अपने सही विस्तार पुस्तकालय फ़ोल्डर स्थान की जांच करते हैं एक कठिन:

    <?php 
        /** 
        * Get an Array of current 
        * PHP extensions for debugging 
        **/ 
        print_r(get_loaded_extensions()); 
    ?> 
    

    सुनिश्चित करें कि आप कर बनाओ: पीएचपी भी अपने वर्तमान एक्सटेंशन get_loaded_extensions() देखने पर एक समारोह प्रदान करता है अपने xmapp/wamp सर्वर के को पुनरारंभ करें।

  • आप PHP 5.4 या ऊपर की ओर (अपने आप की तरह!) पर हैं, तो अद्यतन बाइनरी

भी शोध करने के बाद के लिए नीचे साइट देखते हैं, Imagick PHP 5 के साथ परेशानी है प्रतीत होता है।3 या ऊपर; नई DLL के डाउनलोड नीचे इस साइट (अनधिकृत) से:

Stackoverflow: Trying to get imagick running on PHP 5.4.3 at Windows x64

http://www.peewit.fr/imagick/

इसके अलावा अन्य Stackoverflow लेख है कि एक ही समस्या है पाया

वैकल्पिक रूप से आप GD extension का उपयोग करने के लिए सक्षम हैं, जो आपको आवश्यक कार्यों में से कुछ को कम या कम करने में सक्षम हैं। मुझे विश्वास है कि GD PHP के हाल के संस्करणों में अधिक व्यापक रूप से समर्थित मॉड्यूल/एक्सटेंशन है।

+0

आपकी प्रतिक्रिया मैकी के लिए धन्यवाद, लेकिन हल नहीं हुआ। मैंने इसे सही फ़ोल्डर में रखा है। यह सुनिश्चित करने के लिए, मैं आपके कोड का परीक्षण करता हूं (अगर (! एक्सटेंशन_लोडेड ('इमेजिक'))) एक और एक्सटेंशन के साथ और काम किया! मैंने किसी भी गलत के लिए php.ini फिर से जांच की, लेकिन कोई गलत रेखा नहीं है! क्या समस्या आपको लगता है? –

+0

@AliBagheriShakib Well - आप ऐसा ही एकमात्र ऐसा नहीं हैं :) मुझे एक ही मुद्दे के साथ अन्य पेज मिल गए हैं, हालांकि वे शायद कुछ ऐसा है जो आपको मिला है ..: | – MackieeE

+0

हाय @ मैकीएई। क्या यह http://www.imagemagick.org/download/binaries/ImageMagick-6.8.6-8-Q16-x86-dll.exe स्थापित करना आवश्यक है? या एक्सटेंशन में डीएलएल फ़ाइल की प्रतिलिपि डीआईआर पर्याप्त है? –

0

मैं का उपयोग करें: Wamp 2.4, पीएचपी 5.4.16, अपाचे 2.4.4, ImageMagick 6.8.0-3 2012-10 -24 क्यू 16, इमेजिक 3.1.0 आरसी 2 - सभी 32 बिट, ओएस विन 7 32 बिट

fmstoun द्वारा दिए गए निर्देश पूरी तरह से मेरे लिए काम करते हैं। चूंकि मैंने डीएलएल काम करने की कोशिश करने में बहुत सारे घंटे बिताए, इसलिए मैं fmstoun द्वारा दिए गए चरणों में जोड़ना चाहता था।

  • अपने पीसी को पुनरारंभ करें।
  • उदाहरण के लिए, छवि का पूर्ण पथ का उपयोग करें: C:/ImageMagick और ImageMagick के लिए कोई और वातावरण चर
$image = new Imagick($_SERVER['DOCUMENT_ROOT'] . '/images/test.jpg');
  • सुनिश्चित करें कि आपके सिस्टम वातावरण के लिए 1 एकल प्रविष्टि है बनाओ। किसी भी पिछले प्रतिष्ठानों पथ है, तो उन रास्तों को हटा दें और पुनः आरंभ अपने पीसी
  • WAMP शो 'Imagick' के बारे में सुनिश्चित
    http :// localhost/
    बनाओ लोड विस्तार
  • के रूप में एक्सटेंशन ठीक से भरी हुई है, तो यह phpinfo में दिखाने के लिए है() भी के रूप में:
  • imagick module | enabled
  • ImageMagick version|ImageMagick 6.8.0-3 2012-10-24 Q16
    और छविमैजिक के बारे में कुछ और जानकारी।

इस पोस्ट, आधिकारिक वेबसाइट पर उपलब्ध कराई गई ImageMagick के नवीनतम संस्करण की तारीख को ध्यान में रखते है: ImageMagick-6.8.8-1-प्रश्न 16-86-dll.exe जो विस्तार को लोड करने में विफल रहता है (के रूप में देखा पुनरारंभ करने के बाद अपाचे त्रुटि लॉग में)। इसलिए fmstoun द्वारा वर्णित संस्करण का उपयोग करें।

आशा इस जवाब प्रयास के घंटे के जोड़े को बचाता है और लगभग 15 एसओ और भी विभिन्न मंचों में एक ही विषय से संबंधित प्रश्न के माध्यम से जाने के लिए आवश्यक समय बचाता है।

-2

मेरा बुरा अंग्रेजी के लिए क्षमा करें:

1º स्थापित Appserv

फ़ाइल का नाम: "appserv-win32-2.5.10.exe"

यूआरएल डाउनलोड: ज * ttp: //www.appservnetwork .com/(बिना *)

अपाचे बंदरगाह: 8080

2º डाउनलोड पीएचपी 5.3 (Apache 2.2 बेहतर समर्थन नहीं करता)

फ़ाइल का नाम: "php-5.3.29-Win32-VC9-x86.zip"

?: थ्रेड कैसे सुरक्षित

यूआरएल डाउनलोड: ज * ttp: //windows.php.net/download# php-5.6

3º बंद करो अपाचे

(*) के बिना 4º फ़ोल्डर में सभी सामग्री हटाएं ".. \ AppServ \ PHP5"

5º कॉपी जिप सामग्री के लिए ".. \ AppServ \ PHP5 "

6º जोड़ें लाइन

date.timezone = "अमेरिका/Buenos_Aires"

"php.ini" करने के लिए

"ग में (यह मेरा क्षेत्र, php पृष्ठ में तुम्हारा लगता है): \ Windows \ php।आरं "

PHP में तारीख त्रुटि से बचने के

7º प्रारंभ अपाचे

=========================== ==

IMAGIC (एक बार पीएचपी 5.3 स्थापित किया गया है)

1º Instalññ छवि जादू 6.7 (बेहतर नहीं, पीएचपी 5.3 समर्थन नहीं करता)

फ़ाइल का नाम: "ImageMagick-6.7.9-9-प्रश्न 16 -windows-dll.exe "

यूआरएल डाउनलोड: http://ftp.icm.edu.pl/packages/ImageMagick/binaries/

2º डाउनलोड IMAGIC

फ़ाइल का नाम: "php_imagick-3.1.2-5.3-ts-vc9-x86.zip"

यूआरएल डाउनलोड: http://windows.php.net/downloads/pecl/releases/imagick/3.1.2/

3º डीआईआर "php5/ext" में अंतिम ज़िप डाउनलोड से फ़ाइल "php_imagick.dll" जोड़ें (अन्य फाइलें परवाह नहीं है)

4º लाइन जोड़ें

विस्तार = php_imagick.dll

"php.ini" में करने के लिए

"c: \ Windows \ php.ini"

5º पुनः प्रारंभ अपाचे

4

कई समाधान की कोशिश के बाद, कोई भी लग रहा था काम।

मैं 64-बिट, अपाचे 2.4 और PHP 5.6 Windows 10 पर इसे स्थापित करने में कामयाब रहे, लेकिन मुझे लगता है कि सभी संस्करणों के लिए काम करना चाहिए।

उम्मीद है कि आप PHP के लिए Imagick स्थापित करने में कोई समस्या नहीं होगा।


चरण 1) इकट्ठा जानकारी

सबसे पहले आप अपने PHP वातावरण की कुछ जानकारी एकत्र करना चाहिए।

  • वास्तुकला:: 86 (32-बिट) या 64 (64-बिट)
  • आप आसानी से समारोह phpinfo()

    जानकारी की आवश्यकता के साथ अपने PHP जानकारी देख सकते हैं पीएचपी-संस्करण: आप phpinfo() उत्पादन के शीर्षक में इस पा सकते हैं।

  • PHP एक्सटेंशन बिल्ड: अपने इस्तेमाल किया करने के लिए पथ:
    • NTS या टीएस
    • VCX (VC11 की तरह)
  • लोड विन्यास फ़ाइल: इस स्ट्रिंग 2 महत्वपूर्ण भागों में शामिल है php.ini फ़ाइल।

चरण 2) डाउनलोड बाइनरी

आप द्विआधारी from the official site of ImageMagick डाउनलोड कर सकते हैं। मैं आपको "विंडोज बाइनरी रिलीज" के तहत छोटे परिचय को पढ़ने के लिए अनुशंसा करता हूं, यह सुनिश्चित करने के लिए कि "बिट्स-प्रति-पिक्सेल" (8 या 16) से चुनने के लिए। नवीनतम संस्करण डाउनलोड करना ठीक होना चाहिए।

सुनिश्चित करें कि यह बाइनरी आपके PHP आर्किटेक्चर के समान वास्तुकला है जिसे आपने चरण 1 में एकत्र किया है।

चरण 3) बाइनरी

स्थापित अपने phpx.x.xx\bin फाइल करने के लिए द्विआधारी स्थापित करें। उदाहरण के लिए: C:\wamp64\bin\php\php5.6.16\bin। (यह कोई फ़ोल्डर हो सकता है, लेकिन सुविधा के लिए मैंने यहां रखा है)

सुनिश्चित करें कि "अपने सिस्टम पथ में एप्लिकेशन निर्देशिका जोड़ें" चेक किया गया है। हालांकि डिफ़ॉल्ट रूप से जांच की जानी चाहिए।

चरण 4) डाउनलोड PHP एक्सटेंशन

DLL PHP एक्सटेंशन फिर the windows pecl php site

माध्यम से उपलब्ध है, तो आप सिर्फ नवीनतम संस्करण क्लिक कर सकते हैं।

अगला, एकत्रित जानकारी के आधार पर सही संस्करण चुनें।
उदाहरण के लिए: php_imagick-3.4.1-5.6-nts-vc11-x64.zip

यह घटकों में छीन लिया जा सकता है:

  • php_imagick-3.4.1 - यह वह जगह है संस्करण के साथ php कल्पना विस्तार। यह महत्वपूर्ण नहीं है।
  • 5.6 - यह आपका PHP संस्करण है और आप जिस PHP-संस्करण का उपयोग कर रहे हैं उसके बराबर होना चाहिए, जिसे आपने चरण 1 में निर्धारित किया है।
  • NTS - यह आपके PHP एक्सटेंशन बिल्ड की जानकारी है कि आप चरण 1 में इकट्ठे हुए हैं करने के लिए बराबर होना चाहिए।
  • वीसी 11 - यह आपके PHP एक्सटेंशन बिल्ड की जानकारी के बराबर होना चाहिए जिसे आपने चरण 1 में एकत्र किया है।
  • x64 - यह एक्सटेंशन का आर्किटेक्चर है और यह आपके PHP आर्किटेक्चर के बराबर होना चाहिए जिसे आपने चरण 1 में एकत्र किया है।

चरण 5), PHP एक्सटेंशन

निकालें के बाद आप फ़ाइल आप .zip फ़ाइल को खोलने और नाम की एक फ़ाइल के लिए दिखना चाहिए: php_imagick.dll। इस फ़ाइल को phpx.x.xx\ext पर निकालें।

सुनिश्चित करें कि .dll फ़ाइल आपके द्वारा पूरी तरह से पहुंच योग्य है। कभी-कभी आपको फ़ाइल को अनवरोधित करने की आवश्यकता होती है।

Unblock file

चरण 6) सक्रिय PHP एक्सटेंशन

PHP में विस्तार सक्रिय करने के लिए, आप अपने php.ini फ़ाइल है कि आप इस एक्सटेंशन का उपयोग करना चाहते हैं में होनी चाहिए। आप चरण 1

में अपने इस्तेमाल कियाphp.ini फ़ाइल का पथ इकट्ठे हुए हैं अपने php.ini

PHP.ini Imagick line

चरण 7 के लिए लाइन extension=php_imagick.dll जोड़े) अपने पीसी

पुन: प्रारंभ करें बस बनाने के लिए सुनिश्चित करें, अपने पीसी को पुनरारंभ करें ताकि सभी Environment Path एस सही ढंग से लोड हो जाएंगे।


यह सही ढंग से नवीनतम संस्करण और सही वास्तुकला के साथ Imagick स्थापित करना चाहिए। Imagick को "छवि मैगिक समर्थित प्रारूप" के साथ phpinfo() में भी सूचीबद्ध किया जाना चाहिए (बस सुनिश्चित करें कि यह खाली नहीं है)।

+0

उत्कृष्ट दिशाएं ... अभी भी उन्हें काम करने के लिए काम कर रही हैं, लेकिन ImageMagick वेबसाइट पर विंडोज़ डाउनलोड निर्देशिका वास्तव में http://www.imagemagick.org/script/download.php#windows है, http: // www। imagemagick.org/script/script/download.php#windows (अतिरिक्त स्क्रिप्ट डीआईआर) –

संबंधित मुद्दे