2013-10-22 7 views
5

मैं एक (आसान तैनाती के लिए) एक phar संग्रह में PHP स्क्रिप्ट का गुच्छा बनाने और एक ज्ञात भंडार से आत्म अद्यतन करने के लिए इसे अनुमति देने पर योजना बना रहा हूँ।एक फ़ार संग्रह को स्वतः अपडेट करें?

कैसे एक phar संग्रह, एक लाइव वेबसाइट पर, जो अपने आप अपडेट करना चाहिए? इसकी सामग्री अपडेट नहीं करें, लेकिन केवल खुद को बदलना (new.phar से पहले /tmp या कुछ पर डाउनलोड किया गया) पर्याप्त होगा।

मैं विशेष रूप से PHP में "अपने आप को जगह", यह भी विचार कर अनुरोध चल हो सकता है (स्क्रिप्ट मुख्य रूप से, वेब से बुलाया जाएगा AJAX के द्वारा) पर नुकसान को लेकर चिंतित हूं।

+0

क्या phars कि चीजें मुश्किल हो सकता है के लिए विशिष्ट है, तो मुझे पता नहीं है, लेकिन मैं सिर्फ एक --version जोड़कर नई phar काम करता है की पुष्टि करने के लिए पहले से जाना चाहते हैं या कुछ ऐसे पैरामीटर और इसे बुलाओ। फिर, वर्तमान फ़ाइल को किसी नए स्थान पर ले जाएं, नई फ़ाइल को स्थानांतरित करें, पुरानी फ़ाइल को हटाएं। – OddEssay

+0

@OddEssay मैं वास्तव में उल्लेख करना भूल गया, लेकिन मेरी मुख्य चिंता वेब अनुरोधों के बारे में है, फ़ैट को कमांड लाइन द्वारा कॉल नहीं करना। इसे एक फार बनाने का मेरा कारण सिर्फ इसलिए है क्योंकि यह बहुत ही सुरुचिपूर्ण है, लेकिन मुझे इसे बदलना होगा जबकि लाइव सर्वर के अनुरोध चल रहे हैं। आदर्श रूप से मैं इसे पसंद करूंगा यदि PHP प्रतिलिपि से पहले अनुरोधों के लिए पुरानी फार की स्मृति प्रतिलिपि का उपयोग करेगा, लेकिन मुझे नहीं पता कि यह ऐसा करता है या नहीं। –

+0

आम तौर पर सामान्य PHP वेब अनुरोधों के साथ, सबकुछ संकलित किया जाता है, फिर स्मृति से चलाया जाता है ताकि यदि आप स्रोत फ़ाइलों को बदलते हैं तो यह केवल नए अनुरोधों को प्रभावित करेगा, भले ही पुरानी फ़ाइल की प्रक्रिया अभी भी चल रही हो। - इसके अलावा, कॉपी की बजाय चाल का उपयोग करना मतलब है कि स्थानांतरण समय न्यूनतम होगा। ओ) – OddEssay

उत्तर

1

आप देख सकते हैं कि संगीतकार स्व अद्यतन करता है:

https://github.com/composer/composer/blob/master/src/Composer/Command/SelfUpdateCommand.php

लेकिन जैसे @OddEssay ने कहा कि यह शायद पैकेज प्रबंधक के रूप में उपयोग करने के लिए संगीतकार बेहतर होगा।

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