2012-06-25 12 views
5

मैं जानना चाहता है, जहां सबसे अच्छी जगह ini_set() फ़ंक्शन डाल करने के लिए है, क्योंकि मुझे लगता है कि ini_set समारोह इस तरह विधि के अंदर है, जब:कक्षा में ini_set() फ़ंक्शंस कहां कॉल करें?

private function archiveBackup() { 
    ini_set('memory_limit', '128M'); 
    ini_set('max_execution_time', 0); 
    ... 
} 

ini_set समारोह काम नहीं करता है ?!

मेरी स्क्रिप्ट इस तरह काम करती है: jQuery AJAX क्वेरी -> ajax.php फ़ाइल (कक्षा का उदाहरण बनाएं और कुछ विधि कॉल करें) -> कक्षा की विधि को कॉल करें।

सबसे अच्छी जगह कहां है? ajax.php फ़ाइल में या कक्षा या अंदर के तरीकों की शुरुआत में?

+0

एक साइड नोट के रूप में याद रखें कि उन ini मान अब उस स्क्रिप्ट के चलाने के लिए सेट हैं। एक ही स्क्रिप्ट निष्पादन में वापस करने के लिए आपको इसे मैन्युअल रूप से करना होगा। – Sammaye

उत्तर

5

सामान्यतः, ini_set कॉल डालने का सबसे अच्छा स्थान स्क्रिप्ट की शुरुआत (या नज़दीकी) पर सही है। इस तरह, यह काफी समान है जैसे कि उन्हें पहले स्थान पर php.ini फ़ाइल में परिभाषित किया गया था।

+0

हां, लेकिन क्या होगा यदि साझा होस्टिंग मेरी php.ini फ़ाइल स्वीकार नहीं करता है? –

+0

यह अभी भी काम करेगा। चूंकि PHP फ़ाइल में परिभाषित किया गया है। कोलिंक सिर्फ – Sammaye

+0

चलाते हुए php.ini में इसे परिभाषित करने की तरह मास करता है अगर yoor साझा होस्टिंग php.ini mods स्वीकार नहीं करता है तो सुनिश्चित करें कि आपको ini_set करने की अनुमति है। आप इस आदेश का उपयोग करके अपने नियम और शर्तों का उल्लंघन कर सकते हैं। – Sammaye

1

मैंने देखा है कि आपने अपने मुख्य कार्य की शुरुआत में ini_set रखा है जो सबसे अधिक सही है।

तो:

ini_set समारोह काम नहीं करता है ?!

ऐसा इसलिए हो सकता है क्योंकि आपके साझा होस्टिंग प्रदाता ने आपको कुछ तरीकों से अवरुद्ध कर दिया है।

जैसा कि कोलिंक कहते हैं, हो सकता है कि होस्टिंग प्रदाता disable_functions पर आप पर उपयोग कर रहा है।

0

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

+3

जबकि मैं सामान्य रूप से आपकी वरीयता से सहमत हूं, वहां कुछ स्थान हैं (आमतौर पर क्रॉन स्क्रिप्ट) जहां मैं कुछ कॉन्फ़िगरेशन सेटिंग्स ओवरराइड करता हूं - आमतौर पर स्मृति सीमा। –

+0

क्रॉन के साथ कभी अनुभव नहीं था जिसके लिए मुझे ऐसा कुछ करने की आवश्यकता होगी, इसलिए मुझे बस अपना शब्द लेना होगा :) – brezanac

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