2012-10-21 13 views
10

में फ़िक्सिंग आवश्यकताएं मैंने अपनी मशीन पर एक सिम्फनी 2 स्थापना की है।Symfony2

जब मैं अपने स्थानीय यूआरएल में आवश्यकताओं की जांच:

localhost/Symfony2/web/config.php 

इसे कहते हैं:

प्रमुख समस्याओं

"date.timezone" php.ini * सेटिंग (सेट यूरोप/पेरिस की तरह)।

सिफारिशों

सेट php.ini में बंद करने के लिए short_open_tag *।

php.ini * में magic_quotes_gpc को बंद करने के लिए सेट करें।

  • php.ini फ़ाइल में परिवर्तन "/etc/php5/apache2/php.ini" में किया जाना चाहिए।

मैं /etc/php5/apache2/php.ini में और /etc/php5/cli/php.ini में दोनों आवश्यक परिवर्तन किए हैं:

date.timezone = "यूरोप/मैड्रिड"

short_open_tag = बंद

magic_quotes_gpc =

short_open_tag और magic_quotes_gpc दोनों जहां पहले से ही php.ini फ़ाइलों की जांच की गई थी, जहां से पहले से सेट हो गया था।

उसके बाद मैं apache2 पुन: प्रारंभ किए:

sudo service apache2 restart 

हालांकि मैं अभी भी एक ही त्रुटि संदेश मिलता है।

मैं Symfony 2.1.2, Ubuntu 12.04 और PHP 5.3.6

अद्यतन का उपयोग करें:

अगर मैं ब्राउज़र से phpinfo() चलाने के लिए, यह लोडेड कॉन्फ़िगरेशन फ़ाइल यह में स्थित होता है का कहना है:

:

/etc/php5/apache2/php.ini 

अगर मैं php -i | grep php.ini चलाने यह लोडेड कॉन्फ़िगरेशन फ़ाइल यह में स्थित होता है कहते हैं

ये दो फाइलें हैं जहां मैंने पहले ही बदलाव किए हैं।

मैंने यह सुनिश्चित कर लिया है कि परिवर्तन फ़ाइल में सहेजे गए हैं। मैंने phpinfo() को php फ़ाइल में भी इस्तेमाल किया है और इसे ब्राउज़र में निष्पादित किया है। यह कहता है कि date.timezone के मान सेट नहीं हैं, और magic_quotes_gc और short_open_tag चालू पर सेट हैं।

अगर मैं php app/check.php निष्पादित, आवश्यकताओं हल कर रहे हैं, इसलिए मुझे लगता है कि /etc/php5/cli/php.ini इसे सही ढंग से काम कर रहा है और वहाँ केवल /etc/php5/apache2/php.ini है, जो एक है कि ब्राउज़र के साथ काम करता है के साथ एक समस्या है।

+0

ब्राउज़र से 'phpinfo()' या टर्मिनल से 'php -i' चलाएं और यह पता लगाएं कि कौन सी php.ini' फ़ाइल है उपयोग किया जा रहा है। शायद अपाचे कुछ अन्य का उपयोग कर रहा है? और चूंकि आपने लिखा है कि आपके पास दो 'php.ini' है, शायद यह अधिक विश्वसनीय होगा' brpwsfo से 'phpinfo() 'चलाने के लिए ... –

+0

मैंने इस जानकारी के साथ प्रश्न अपडेट किया है। – rfc1484

+1

मेरे लिए, यह था कि मैं php-fmp का उपयोग कर रहा था, और 'service apache2 restart' के साथ अपाचे को पुनरारंभ करना php.ini फ़ाइल को पुनः लोड करने के लिए पर्याप्त नहीं था। मुझे 'सेवा php5-fpm restart' भी जारी करना था। –

उत्तर

4

आपके द्वारा किए गए परिवर्तनों को सही ढंग से करने पर आपकी समस्या को ठीक करना चाहिए; दो बार जांचें। सुनिश्चित करें कि वास्तव में परिवर्तन सहेजे जा रहे हैं। कई बार जब मैं उबंटू में php.ini फ़ाइलों को संपादित करता हूं, तो मैं सही अनुमतियों (रूट) के साथ संपादक को चलाने के लिए भूल जाता हूं और चेतावनी को याद करता हूं कि फ़ाइल को सहेजा नहीं जा सका। साथ ही, किसी स्क्रिप्ट से phpinfo() को कॉल करके परिवर्तनों को सत्यापित करें।

क्या आप एक ही परिणाम प्राप्त करते हैं जब आप टर्मिनल से ऐप/check.php में स्थित स्क्रिप चलाते हैं। प्रोजेक्ट रूट से:

php app/check.php 

यदि अभी भी समस्या है, तो मैं सुझाव दे सकता हूं कि कैश साफ़ कर रहा है; symfony2 के साथ इस तरह से कई समस्याओं को हल किया जाता है।

+0

मैंने इस सवाल का जवाब अपडेट कर दिया है। – rfc1484

+0

आपने कहा कि आपने phpinfo() की जांच की है और परिवर्तन प्रतिबिंबित नहीं होते हैं, क्या आप किसी भी तरह अपनी php.ini फ़ाइल या स्क्रीनशॉट पोस्ट कर सकते हैं। – d0001

+1

मेरे पास php.ini में एक वाक्यविन्यास त्रुटि थी, हालांकि यह अपाचे को पुनरारंभ करने से नहीं रोका, इसलिए मैंने पहले नोटिस नहीं किया था। मैं इसे लॉग फ़ाइल में स्थित करता हूं: /var/log/apache2/error.log। अब सब ठीक काम करता है। – rfc1484

1

मुझे भी उसी त्रुटि संदेश के जवाब में date.timezone चर सेट करना पड़ा। त्रुटि संदेश अंत में चलाकर नीचे के रूप में संचय को साफ़ करके हल किया गया था:

php app/console cache:clear 
6

/etc/php5/cli/php.ini

से भी स्ट्रिंग की शुरुआत से टिप्पणी अर्द्ध बृहदान्त्र दूर करने के लिए सुनिश्चित करें

से:

;date.timezone = "America/Vancouver" 

करने के लिए:

date.timezone = "America/Vancouver" 
+0

यह शर्मनाक है, लेकिन आपको मेरी समस्या हल करने के लिए स्वीकार करना है। धन्यवाद;) –

1

आप correc संपादन करें टी आईएनआई फाइल? मैं /etc/php5/cli/php.ini संपादित कर रहा हूं और यह मेरे लिए समस्या का समाधान

+0

यह प्रश्न का उत्तर नहीं प्रदान करता है। जब आपके पास पर्याप्त प्रतिष्ठा है, तो आप स्पष्टीकरण मांगने के लिए टिप्पणियां छोड़ सकते हैं, लेकिन तब तक याद रखें कि जवाब केवल उत्तर अनुभाग में पोस्ट किए जाने चाहिए। –