मैं MAMP PRO के साथ PHP के लिए कमांड लाइन memory_limit कैसे बढ़ा सकता हूं?


13

मैंने php.iniअपने मैक पर हर एक को संपादित किया है (कम से कम "पता लगा" द्वारा पाए गए सभी) और अभी भी memory_limitPHP के लिए निर्देश को बढ़ाने के लिए प्रतीत नहीं हो सकता है ।

मैं MAMP PRO का उपयोग कर रहा हूं और टर्मिनल में PHP स्क्रिप्ट चला रहा हूं।

इसे कैसे हल करें?

जवाबों:


15

यह अनुमान लगाने के बजाय कि आपको किस php.ini को बदलने की आवश्यकता है, फ़ाइल को खोजने के लिए इस कमांड को चलाएं:

php -r 'phpinfo();' | grep 'php.ini'

भले ही मैं MAMP PRO का उपयोग करता हूं, डिफ़ॉल्ट रूप से मेरी कमांड-लाइन PHP कमांड को PHP की उनकी कॉपी का उपयोग करके निष्पादित नहीं किया जाता है। मेरे मामले में यह कहता है कि फ़ाइल में पाया गया है/etc/php.ini

एक बार जब आप फ़ाइल को देख लेते हैं, तो मेमोरी_लिमिट सेटिंग को टक्कर देने के लिए अन्य सभी उत्तरों के निर्देशों का पालन करें:

memory_limit = 256M

1
मुझे डिफ़ॉल्ट फ़ाइल को मुट्ठी में cp /etc/php.ini.default /etc/php.ini
दबाना पड़ा

4

से http://drupal.org/node/66187 (Drupal अपनी आवश्यकताओं के लिए अप्रासंगिक हो सकता है लेकिन अपनी साइट एक अच्छा explanaton था - आप के लिए स्रोत करना चाहता था यह है, और उन्हें करने के लिए ऋण देना)

डिफ़ॉल्ट रूप से, MAMP में मेमोरी सीमा होती है जो स्क्रिप्ट 8MB पर सेट का उपयोग कर सकती है, जो PHP डिफ़ॉल्ट है। PHP की php.ini- अनुशंसित फ़ाइल को देखते हुए, यह मेमोरी सीमा सामान्य रूप से 128MB पर सेट होती है। इस राशि को समायोजित करने के लिए, एक पाठ संपादक में php.ini फ़ाइल खोलें और निम्न पंक्ति (लगभग लाइन 232 पर) बदलें:

memory_limit = 8M; एक स्क्रिप्ट में अधिकतम मात्रा में मेमोरी (8MB) की खपत हो सकती है

PHP.ini फ़ाइल स्थान:

/Applications/MAMP/conf/php4/php.ini
/Applications/MAMP/conf/php5/php.ini
में MAMP प्रो, फ़ाइल सीधे बदल नहीं है, क्योंकि यह प्रत्येक सर्वर शुरू में निर्मित किया जाएगा है। कृपया इसके बजाय उपयुक्त टेम्पलेट (मेनू फ़ाइल> टेम्पलेट संपादित करें ...) को संपादित करें।

यहां तक ​​कि बड़ी PHP मेमोरी लिमिट के साथ आप MySQL में बड़े Drupal डेटाबेस को आयात करने के लिए टाइमआउट त्रुटियां प्राप्त कर सकते हैं। इन मुद्दों पर कैश और व्यू कैश के संबंध में चर्चा की गई है। आम तौर पर समाधान MySQL से / से डेटाबेस आयात / निर्यात करने से पहले Drupal कैश को खाली करना है।


नहीं, वे सीमाएँ पहले से ही 128 एमबी पर थीं ...
एलेक्स वेबर

हम्म। आपके पास प्रो ... इसके बजाय टेम्पलेट को संपादित करने का प्रयास करें। जाहिरा तौर पर php.ini फ़ाइल को हर बार फिर से बनाया जाता है। यहाँ निर्देश: document.mamp.info/en/mamp-pro/how-tos/… वह काम? आप mamp सर्वर पर क्या चला रहे हैं?
dmg

अभी भी कुछ भी नहीं है, हर एक php.ini फ़ाइल जो मैं पा सकता हूं (और टेम्प्लेट भी) सभी 128MB के साथ हैं, लेकिन php -r "phpinfo ();" | grep memory_limit अभी भी memory_limit => 8M => 8M
एलेक्स वेबर

2

मेरे लिए, मैंने निम्नलिखित कार्य किया:

संपादित करें /Applications/MAMP/conf/php5.4.4/php.ini

तथा

php.ini.temp

होने के लिए:

memory_limit = 128M      ; Maximum amount of memory a script may consume (8MB)

फिर खोजक में बस php.ini बनायें और php.ini.temp केवल सभी उपयोगकर्ताओं के लिए पढ़ें। इस तरह, MAMP इसे डिफ़ॉल्ट फ़ाइलों के साथ अधिलेखित नहीं कर सकता है। सर्वर को पुनरारंभ करें और अपने phpinfo की जाँच करें।


सरल चीजों पर किसी का ध्यान नहीं जाता है! इस विचार के लिए धन्यवाद!
केली जॉनसन

1

थोड़ी देर के लिए गड़बड़ करने के बाद कुछ ऐसा मिला जो मेरे लिए काम कर गया:

# backup original php.ini
sudo mv /usr/bin/php /usr/bin/php.bkp

# create a symlink from MAMP's php.ini in /usr/bin directory
# (I use 5.2, change the path for 5.3)
sudo ln -s /Applications/MAMP/bin/php/php5.2.17/bin/php /usr/bin/php

वहाँ!


1

ऐसा करने का त्वरित और गंदा तरीका आपकी स्क्रिप्ट को कॉल करते समय इसे तर्क के रूप में सेट करना है।

अर्थात:

php -d memory_limit=512M myScript.php 


0

यदि आपके पास Mamp Pro में Opcache है, तो यह आपको उचित सेटिंग नहीं मिलेगा ... इसे रोकें, अपने Mamp Pro सर्वर को पुनरारंभ करें ...

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