जब आप चलते हैं composer update
, तो ओएस कॉन्फ़िगर किए गए रास्तों पर गौर करेगा और उस नाम के साथ एक निष्पादन योग्य फ़ाइल खोजने की कोशिश करेगा।
दौड़ते समय php composer update
, composer
स्ट्रिंग को PHP के पैरामीटर के रूप में माना जाता है, जिसे किसी भी पथ में नहीं खोजा जाता है। इसे चलाने के लिए आपको पूरा रास्ता देना होगा।
रनिंग which composer
आपको बताएगा कि ओएस संगीतकार को निष्पादन योग्य कहां पाता है, और फिर आप बस PHP कमांड में पूर्ण पथ का उपयोग करते हैं:
$>which composer
/usr/local/bin/composer
$>php -d memory_limit=512M /usr/local/bin/composer update
...
ध्यान दें कि 512MB बहुत कम हो सकता है। मेरी धारणा यह है कि आपके द्वारा उपयोग की जाने वाली निर्भरता की संख्या और आपके द्वारा सैद्धांतिक रूप से अनुमति देने वाले संस्करणों की विविधता के आधार पर, यह 1GB या अधिक खुशी से ले जाएगा, अर्थात यदि आप Symfony की अनुमति देते हैं ~2.3
, तो आप उपयोग करने की तुलना में बहुत अधिक संभावित संस्करणों के साथ संगीतकार सौदा करते हैं। ~2.7
।
यह भी ध्यान दें कि उत्पादन मशीन पर कम्पोज़र चलाना सबसे अच्छा विचार नहीं है। आपको Github तक पहुंच प्राप्त करनी होगी, हो सकता है कि एक्सेस क्रेडेंशियल्स प्रदान करें, VCS टूल इंस्टॉल किए हों, और यदि आपकी अपडेट के दौरान दूरस्थ होस्टिंग सर्वरों में से कोई भी ऑफ़लाइन है, तो आप आसानी से अपनी साइट को तोड़ देंगे। कंपोज़र को एक परिनियोजन प्रणाली पर उपयोग करने के लिए एक बेहतर विचार है जो सभी तैयारी करता है, और फिर सभी फ़ाइलों को उत्पादन सर्वर पर ले जाता है।
अपडेट करें
यह अब वर्ष 2020 है, और जिस तरह से संगीतकार ने अपनी मेमोरी का प्रबंधन किया है वह काफी बदल गया है। सबसे महत्वपूर्ण बात यह है कि अगर यह सीमा बहुत कम हो जाती है, तो कम्पोज़र मेमोरी की सीमा को अपने आप बढ़ा देगा। हालांकि यह तुरंत उन मशीनों पर मेमोरी से बाहर चलने की समस्या को ट्रिगर करता है जिनमें बहुत कम मेमोरी स्थापित है। आप पर्यावरण चर की तरह सेटिंग करके कम मेमोरी का उपयोग कर सकते हैं COMPOSER_MEMORY_LIMIT=512M
, लेकिन यह समस्याएँ पैदा करेगा अगर कम्पोज़र को सही ढंग से संचालित करने के लिए अधिक मेमोरी की आवश्यकता होगी।
मेरी मुख्य बात सच है: उन मशीनों पर कंपोज़र न चलाएं जिनमें बहुत कम मेमोरी स्थापित है। आपको संभावित रूप से 1.5 जीबी मुफ्त मेमोरी की आवश्यकता है ताकि सब कुछ अपडेट किया जा सके।
composer install
में पर्याप्त है। आपके मामले में, साझा होस्टिंग का उपयोग करते समय, मुझे लगता है कि आपकोcomposer update
काम नहीं मिलेगा , इसलिए एकमात्र तरीका डिजिटल महासागर, लिनोड जैसे वीपीएस होस्टिंग खरीदना है।