2012-06-05 15 views
8

मुझे अपने विचारों में संसाधन लोड करने के लिए परिसंपत्तियों का उपयोग करने में कठिनाई हो रही है (मैं सिम्फनी 2 के साथ काम करता हूं)। मैं लिनक्स (उबंटू 10.4) पर काम कर रहा था और कुछ दिन पहले विंडोज 7 पर स्विच किया था। मुझे हमेशा परेशानी हो रही है (कुछ छवियां उदाहरण के लिए लोड नहीं हुईं), लेकिन कम से कम अधिकांश छवियां, और सभी शैलियों और स्क्रिप्ट ठीक से लोड हो रही थीं।सिम्फनी 2 और एसेटिक्स: विंडोज 7 पर सिम्लिंक?

जब मैं विंडोज का प्रयोग किया, कुछ संसाधनों लोड हो रहा है नहीं कर रहे थे, तो मैं करने की कोशिश की एक php app/console assets:install web --symlink

मैं काफी देखने के लिए कि यह बंडल मैं पर काम कर रहा था के पूरे सार्वजनिक फ़ोल्डर को नष्ट कर दिया था आश्चर्य हुआ। और फिर स्रोतों को खोजने का कोई तरीका नहीं था (सौभाग्य से, मैंने उनमें से कुछ को बचा लिया था, और मैं अपने अधिकांश काम को कैश की गई फाइलों को पुनः प्राप्त करने में सक्षम था)।

मेरी फ़ाइलों को पुनर्प्राप्त करने के बाद (और उन्हें बैक अप), मैंने फिर से आदेश देने का प्रयास किया। वही परिणाम मैंने --symlink के बिना कोशिश की और इसने web/bundle फ़ोल्डर में कुछ फ़ोल्डरों को बनाया, जो पहले वहां थे (माना जाता है कि सिम्लिंक)।

अब आदेश अब और जवाब नहीं देता है (यह मेरे कुछ बैकअप फ़ोल्डरों में भी मेरे स्रोतों को मिटा रहा है !!)।

नीचे पंक्ति: क्या विंडोज 7 पर परिसंपत्तियों को कॉन्फ़िगर करने का कोई तरीका है ताकि वह मेरी फाइलें नहीं खा सके और संसाधनों को लोड कर सके (सीएसएस में छवियों सहित) सही ढंग से?

अग्रिम धन्यवाद!

संपादित करें:

मैं सिर्फ फिर से आदेश भाग गया और इस बार यह काम किया (में फ़ाइलों की नकल की वेब/बंडल/...)। मुझे कहना होगा कि मैं वास्तव में यह नहीं समझता कि यह कैसे काम करता है या क्यों ... अगर किसी को भी पता है ...

उत्तर

4

सिम्फनी 2 PHP symlink फ़ंक्शन का उपयोग करता है, जो दस्तावेज़ों के अनुसार Windows Vista, सर्वर के लिए काम करना चाहिए 2008 या उससे अधिक।

डिफ़ॉल्ट रूप से only Administrators can create symlinks in Windows। तो आपको एक उन्नत प्रॉम्प्ट का उपयोग करना होगा या अपने उपयोगकर्ता को SeCreateSymbolicLinkPrivilege विशेषाधिकार देना होगा।

+0

है कि मैं क्या देखा है, लेकिन मैं मुसीबत फिर भी हो रही थी ... खैर, अब यह इतना यह हमारे लिए पर काम नहीं कर रहा काम कर रहा है ... –

+1

दस्तावेज के बावजूद XAMPP और PHP 5.3.8 के साथ एक विंडोज 7 बॉक्स, http://stackoverflow.com/questions/13376319/php-symlink-fails-on-windows-7 –

24

किसी पीसी पर assets:install web --symlink चलाने के लिए आपको elevated command prompt (व्यवस्थापक मोड में cmd.exe के लिए फैंसी शब्द) की आवश्यकता है।

+1

देखें यह सही उत्तर – thedjaney

+1

लगता है यह सही उत्तर होना चाहिए, सिम्लिंक केवल व्यवस्थापक गोपनीयता के साथ बनाया जा सकता है मुझे समझ में नहीं आता क्यों –

0

आप composer.json को कॉन्फ़िगर कर सकते हैं और बिना किसी समस्या के हमेशा के लिए उपयोग कर सकते हैं, इसमें डालें - सिमलिंक.यह है कि आप इसे कैसे कर सकते हैं। http://www.w3docs.com/snippets/symfony/how-to-keep-symlinks-in-web-bundles-after-composer-update.html

+0

उत्तर के लिंक को पोस्ट करने के बजाय, जब भी संभव हो, सीधे उत्तर पोस्ट करें – Alsciende

1

आप इसे विंडोज कंसोल के साथ कर सकते हैं, लेकिन गिट बैश बहुत अच्छा है। इसे प्राप्त करें और डाउनलोड करें। Ps। यदि आपने शुरू करने का सही समय नहीं है तो इससे पहले कि आपने गिट का कभी भी उपयोग नहीं किया है। :)

जब आपने इसे गिट बैश के लिए विंडोज प्रोग्राम में खोजा है और व्यवस्थापक के रूप में चलाने के लिए राइट क्लिक करें। यदि आपके पास वर्तमान फ़ोल्डर "गिट बैश" में राइट क्लिक से खोला गया गिट बैश है तो यह काम नहीं करेगा क्योंकि यह डिफ़ॉल्ट रूप से व्यवस्थापक मोड में लॉन्च नहीं होता है। यदि आपने ऐसा किया है तो आपको यह चेतावनी मिल जाएगी।

app/console assets:install web --symlink 

enter image description here चेतावनी। हार्ड कॉपी जहां symlinks के बजाय उपयोग किया जाता है।

हालांकि यदि आप अच्छा खेलते हैं और जैसा मैंने कहा है।(व्यवस्थापक के रूप में चलाने के .. तुम सब कुछ अच्छा और चिकनी काम मिल जाएगा

app/console assets:install web --symlink 

enter image description here सिमलिंक जहां बनाया :) अब आप संपत्ति की जरूरत नहीं है:।! हर बार जब आप अपने सीएसएस फ़ाइलों में परिवर्तन किए स्थापित करें।

Ps। गिट बैश कंसोल तब मूल विंडोज कंसोल है, लेकिन ... उदाहरण के लिए उबंटू जैसे यूनिक्स सिस्टम भी बेहतर दिखेंगे। एक्सप के साथ विंडोज पर सिम्फनी भी लिनक्स उबंटू सिस्टम की तुलना में बहुत धीमी गति से चलेंगे। मैं लिनक्स पर 5x से 20x तेज पृष्ठ प्रतिक्रिया के बारे में बात कर रहा हूं।

0

आप अपने composer.json में इस विन्यास विकल्प जोड़ सकते हैं:

{ 
    "extra": { 
     "symfony-assets-install" : "symlink", 
    } 
}