php mcrypt नहीं मिल सकता=> अपरिभाषित कार्य को कॉल करें Laravel \ mcrypt_create_iv()




osx-mountain-lion (8)

उबंटू या किसी भी डेबियन आधारित लिनक्स उपयोगकर्ता apt-get साथ आवश्यक पैकेज स्थापित कर सकते apt-get :

sudo apt-get install php5-mcrypt

बाद में वेब सर्वर को पुनरारंभ करना याद रखें:

sudo service apache2 restart

यदि यह अभी भी काम नहीं करता है, तो वेब सर्वर के लिए कॉन्फ़िगरेशन फ़ाइल को उचित कॉन्फ़िगरेशन फ़ोल्डर से लिंक करने का प्रयास करें। टिप्पणियों में इस संकेत के लिए dave1010 लिए धन्यवाद।

sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/apache2/conf.d/   # for Apache
sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/cli/conf.d/       # for CLI

और फिर, वेब सर्वर को पुनरारंभ करें:

sudo service apache2 restart

शायद, अगर अभी तक काम नहीं कर रहा है, तो आपको php5enmod mcrypt साथ php5enmod mcrypt द्वारा दिखाए गए लाइन की भी आवश्यकता है।

Laravel स्थापित करने और इस त्रुटि के साथ हिट रखने की कोशिश कर रहा है। मैंने ब्रू के माध्यम से मैक्रिप्ट स्थापित किया और यह / usr / local / cellar में स्थित है। कोई विचार? .. यह टर्मिनल कमांड php -m में दिखाई नहीं दे रहा है, अगर यह मायने रखता है। मै मैक्स देशी शेर के साथ माउंटएयन शेर चला रहा हूं।


आपके पास mcrypt PHP एक्सटेंशन स्थापित नहीं है।

मैक के लिए, मैंने इन निर्देशों का पालन किया: coolestguyplanettech.com/…

वे बहुत कुछ दिखते हैं, लेकिन ऐसा नहीं है, इसमें काम करना बहुत आसान है!


अपने PHP इंस्टालेशन में सीएलआई फ़ोल्डर पर जाएं, और वहां php.ini ढूंढें और मैक्रिप्ट सक्षम करें। टर्मिनल कभी-कभी एक और php.ini का उपयोग करता है, जो आमतौर पर सीएलआई फ़ोल्डर में होता है।


मैंने होमब्रू के साथ php और mcrypt स्थापित किया, लेकिन मुझे अभी भी कुछ बार brew update करने के बाद इस त्रुटि का अनुभव हुआ। मुझे लगता है कि मेरा सेटअप अभी समय के साथ थोड़ा सा हो गया है।

यह पता चला है कि मेरे PHP को /private/etc/php.ini से कॉन्फ़िगर किया जा रहा था, नहीं /usr/local/etc/php/5.4/php.ini नहीं , क्योंकि होमब्रू अनुशंसा करता है। मैक्रिप्ट को /usr/local/etc/php/5.4/ext-mcrypt.ini से भी शामिल नहीं किया जा रहा है जो php -i पर विचार करने के लिए बहुत अधिक समझ में नहीं आता है:

Configuration File (php.ini) Path => /usr/local/etc/php/5.4
Loaded Configuration File => /usr/local/etc/php/5.4/php.ini
Scan this dir for additional .ini files => /usr/local/etc/php/5.4/conf.d
Additional .ini files parsed => /usr/local/etc/php/5.4/conf.d/ext-mcrypt.ini

मेरा समाधान:

  1. एक /private/etc/php.ini रूप में /private/etc/php.ini संपादित करें
  2. extension="/usr/local/Cellar/php54-mcrypt/5.4.28/mcrypt.so" जोड़ें extension="/usr/local/Cellar/php54-mcrypt/5.4.28/mcrypt.so" और सहेजें
  3. sudo apachectl restart साथ अपाचे को sudo apachectl restart

sudo php5enmod mcrypt && sudo service apache2 restart प्रयास करें


हाल ही में उन लोगों के लिए एक नोट जिन्होंने हाल ही में PHP 7 में अपग्रेड किया है - MCRYPT लाइब्रेरी को deprecated कर दिया गया है। यदि आप PHP 7 में अपग्रेड किए गए हैं और अब यह त्रुटि देख रहे हैं, तो यही कारण है कि। आपको वैकल्पिक पुस्तकालय में जाना चाहिए, इस धागे में कुछ विकल्पों का उल्लेख किया गया है।


आखिर में मेरे लिए क्या काम किया:

brew reinstall --with-homebrew-curl --with-httpd php56
brew reinstall --build-from-source php56-mcrypt

मुझे sudo chmod 777 /usr/local/etc/php/5.6/conf.d ext-mcrypt.ini भी करना पड़ा क्योंकि दूसरी त्रुटियों को brew reinstall करने के बाद मुझे उस निर्देशिका में ext-mcrypt.ini जोड़ने का प्रयास किया गया।


जब आप वास्तव में php56-mcrypt php मॉड्यूल चाहते थे तो आपने mcrypt इंस्टॉल किया है।

आपने अपने प्रश्न में कहा है कि आप /usr/local/Cellar mcrypt स्थापित mcrypt देख सकते हैं और आप OSX का उपयोग कर रहे हैं। तो, होमब्रू का उपयोग कर ओएसएक्स पर मैक्रिप्ट PHP मॉड्यूल स्थापित करने का सबसे आसान तरीका यह है:

// assuming you have php56
brew install php56-mcrypt

यदि होमब्री को सही पैकेज नहीं मिल रहा है तो आपको गिटहब पर मिले PHP रिपॉजिटरीज़ को टैप करने की आवश्यकता हो सकती है :

brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php

अब जब आप कमांड brew search mcrypt जारी करते हैं, तो आपको कुछ ऐसा दिखना चाहिए:

libtomcrypt   mcrypt   php53-mcrypt   php54-mcrypt   php55-mcrypt   php56-mcrypt

कई अन्य पोस्टर ने आपकी php.ini फ़ाइल को संपादित करने की आवश्यकता का उल्लेख किया है। यह अनावश्यक होगा क्योंकि होमब्री आपके लिए मॉड्यूल को सक्रिय करने का ख्याल रखेगा। यह कॉन्फ़िगरेशन फ़ाइल को /usr/local/etc/php/5.6/conf.d/ext-mcrypt.ini पर रखता है





laravel