मैं मशीन के सर्वरनाम को प्राप्त करने का एक आसान तरीका खोज रहा हूं जहां सिम्फनी सिम्फनी में चलता है (ताकि मेरा ऐप किसी भिन्न सर्वरनाम के साथ मेजबान पर उपयोग होने पर अनुकूलित हो), लेकिन मुझे कोई नहीं मिला। मैंने app.yml में एक चर बनाया है और मैं इसे लाता हूं, लेकिन मुझे अभी भी आश्चर्य है कि ऐसा करने का कोई आसान तरीका नहीं है। आप यह कैसे कर रहे हैं? मैं विभिन्न परियोजनाओं पर सिम्फनी 1.2 और 1.4 का उपयोग कर रहा हूं।क्या सिम्फनी में सर्वर नाम प्राप्त करने का कोई आसान तरीका है?
उत्तर
मुझे लगता है कि मैं कुछ पाया:
$this->getRequest()->getHost()
यह काम करने के लिए लगता है ... यह केवल यह वहाँ काम करेंगे पाठ्यक्रम का अनुरोध है, इसलिए यह सार्वभौमिक नहीं है।
एक सहयोगी ने मुझे अभी बताया कि हमें भरोसा नहीं करना चाहिए यह, क्योंकि कई जोखिम हैं। वह सोचता है कि वाईएमएल फ़ाइल में सेटिंग सबसे अच्छा समाधान है ... – greg0ire
क्या आप जोखिमों पर विस्तार से बता सकते हैं? :-) – Flukey
लीस दो परिस्थितियों में हैं जहां आप इस तरह के सिस्टम पर भरोसा नहीं करना चाहते हैं: - जब आप अपाचे का उपयोग नहीं करते हैं (उदाहरण के लिए cronjob के माध्यम से मेल भेजते समय) - जब आपके पास कई सर्वर हैं लेकिन आप चाहते हैं अपनी साइट को बढ़ावा देने के लिए उनमें से केवल एक का उपयोग करें। – greg0ire
बहुत अच्छा, लेकिन मैं अपने सामने नियंत्रक फ़ाइल में $_SERVER["SERVER_NAME"]
उपयोग करें, और का उपयोग करें कि पर्यावरण मैं सक्रिय करने कर रहा हूँ निर्धारित करने के लिए:
$env = "prod";
if (preg_match("/qahost\.tld$/", $_SERVER["SERVER_NAME"]))
{
$env = "qa";
}
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', $env, false);
sfContext::createInstance($configuration)->dispatch();
मैं उचित दृष्टिकोण को देखने के लिए दिलचस्पी होगी: -)
क्या आप gethostname() का उपयोग नहीं कर सकते? http://php.net/manual/en/function.gethostname.php – mamoo
क्षमा करें, मैं वास्तव में होस्टनाम नहीं चाहता हूं, लेकिन सर्वरनाम (मैंने अपनी पोस्ट संपादित की है) – greg0ire