क्या हमारे उत्पादन/परीक्षण पर्यावरण पर composer update
कमांड चलाने का कोई तरीका है?PHP सर्वर पर संगीतकार अद्यतन कैसे चलाएं?
समस्या यह है कि मेरे पास कमांड लाइन तक पहुंच नहीं है।
क्या हमारे उत्पादन/परीक्षण पर्यावरण पर composer update
कमांड चलाने का कोई तरीका है?PHP सर्वर पर संगीतकार अद्यतन कैसे चलाएं?
समस्या यह है कि मेरे पास कमांड लाइन तक पहुंच नहीं है।
हां। एक समाधान है लेकिन यह कुछ सर्वर कॉन्फ़िगरेशन की मांग कर सकता है ... और सुरक्षा जोखिमों के कारण इनमें से कुछ डिफ़ॉल्ट रूप से प्रतिबंधित हैं !!
डाउनलोड composer.phar
https://getcomposer.org/download/ - इस पीएचपी आर्काइव Phar()
के माध्यम से निकाला जा सकता है और नियमित रूप से पुस्तकालय के रूप में मार डाला है।
नई PHP फ़ाइल बनाएं और इसे वेब सार्वजनिक फ़ोल्डर में रखें। अर्थात /public/composer.php
या निकाला जा रहा है https://github.com/whipsterCZ/laravel-libraries/blob/master/public/composer.php
विन्यास
<?php
//TODO! Some Authorization - Whitelisted IP, Security tokens...
echo '<pre>
______
/____/___ ____ ___ ____ ____ ________ _____
// /__ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
//___/ /_/////// /_///_/ (__ ) __//
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ UPDATE
/_/
';
define('ROOT_DIR',realpath('../'));
define('EXTRACT_DIRECTORY', ROOT_DIR. '/composer');
define('HOME_DIRECTORY', ROOT_DIR. '/composer/home');
define('COMPOSER_INITED', file_exists(ROOT_DIR.'/vendor'));
set_time_limit(100);
ini_set('memory_limit',-1);
if (!getenv('HOME') && !getenv('COMPOSER_HOME')) {
putenv("COMPOSER_HOME=".HOME_DIRECTORY);
}
पर डाउनलोड संगीतकार पुस्तकालय
if (file_exists(EXTRACT_DIRECTORY.'/vendor/autoload.php') == true) {
echo "Extracted autoload already exists. Skipping phar extraction as presumably it's already extracted.\n";
}
else{
$composerPhar = new Phar("../composer.phar");
//php.ini set phar.readonly=0
$composerPhar->extractTo(EXTRACT_DIRECTORY);
}
संगीतकार कमान
01 चल रहालेकिन बेहतर,composer install
प्रदर्शन किया जाएगा composer.lock जो पिछले निर्भरता विन्यास स्थानीय पर्यावरण से परीक्षण किया है के अनुसार
केवल परिवर्तन
$args = array('command' => 'install');
चलाने की ज़रूरत है, क्या यह ठीक है? – WhipsterCZ
यह बहुत बेहतर है :) – Epodax
आप यह भी कर सकते हैं: 1) नवीनतम composer.phar 2 डाउनलोड करें) डाउनलोड संगीतकार फ़ाइल
का उपयोग करके बदतर करने के लिए PHP स्क्रिप्ट से कमांड निष्पादित करेंयह एक अस्थायी समाधान है लेकिन तत्काल आवश्यकता के लिए काम कर सकता है।
यह वास्तव में एक बुरा विचार हो सकता है, लेकिन कृपया बताएं क्यों। बस वोट मत करो। – MilanG
सबसे अच्छा विचार उत्पादन सर्वर पर संगीतकार आदेशों को चलाने के लिए नहीं है, लेकिन इसके बाहर। एक परिनियोजन स्क्रिप्ट है - वैसे भी आपके कोड को सर्वर पर रखा जाना चाहिए, और इससे कोई फर्क नहीं पड़ता कि आप कोड अपलोड करने के बाद या अपलोड से पहले सर्वर पर निर्भरता जोड़ते हैं।
वर्कफ़्लो इस तरह होगा: स्थानीय मशीन लें, रेपो से अपना कोड चेकआउट करें, composer install
चलाएं, और उसके बाद सर्वर पर सबकुछ अपलोड करें। यही कारण है कि मेरे लिए एक चार लाइन स्क्रिप्ट की तरह लगता है:
git archive master | tar -x -C /deploy/application
pushd /deploy/application && composer install
popd
scp /deploy/application [email protected]:/srv/www/htdocs
हाँ, आप एक nonworking साइट की तैनाती से स्क्रिप्ट को रोकने के लिए मामला कुछ में से निपटने के कुछ त्रुटि आवश्यकता होगी गलत हो जाता है,। साथ ही, rsync
का उपयोग कर अपलोड अनुकूलित करना एक सुझाव होगा।
आप टर्मिनल का उपयोग नहीं कर सकते? – gcampbell
नहीं मैं नहीं कर सकता। यही कारण है कि – WhipsterCZ
पूछें [आपको 'संगीतकार अद्यतन' नहीं चलाया जाना चाहिए, लेकिन आपके लॉकफ़ाइल पर 'संगीतकार इंस्टॉल' नहीं होना चाहिए] (https://daylerees.com/the-composer-lock-file/) - जाहिर है आप नहीं कर सकते ऐसा करो, लेकिन इसे उल्लेख करने की जरूरत है। – Gordon