मैं एक रैपर वर्ग का उपयोग कर एक थर्ड पार्टी स्क्रिप्ट चला रहा हूं जो मैंने लिखा है जो shell_exec()
और पाइप को फ़ाइल में पाइप कोड का उपयोग करके बाद में पार्स करता है। मुझे जिक्र करना चाहिए कि यह काम कर रहा है, लेकिन मैं कार्यक्षमता को बढ़ाने की कोशिश कर रहा हूं, जिसमें एक ऐसे मामले का सामना करना पड़ा जिस पर मैंने सोचा नहीं था।shell_exec() टाइमआउट प्रबंधन और निष्पादन()
shell_exec() पर टाइमआउट प्रबंधित करना सबसे अच्छा कैसे है? मैं इसे try() catch()
में लपेटने की सोच रहा था, लेकिन मुझे यकीन नहीं है कि समय घटक को सर्वोत्तम तरीके से कैसे संभालना है।
मैं यहाँ shell_exec()
और exec()
से संबंधित पर कुछ सवाल पढ़ने किया गया है और ऐसा लगता है कि exec()
को आउटपुट पैरामीटर पारित करके आप एक वापसी प्राप्त कर सकते हैं, लेकिन है कि स्क्रिप्ट की वापसी की स्थिति के साथ परिष्करण पर भरोसा करता है। इसके अलावा मेरे मिनी टेस्ट पेज में, मुझे लगता है कि यह किसी भी आउटपुट को वापस करने के लिए नहीं मिल रहा है!
अन्य विकल्प जो मैंने सोचा था, एक एजेक्स स्टाइल स्पिनर के साथ एक मोडल डायलॉग का उपयोग कर रहा था, जबकि स्क्रिप्ट यह काम कर रहा था, और जावास्क्रिप्ट में मैन्युअल टाइमआउट सेट कर रहा था। जिसके बाद उपयोगकर्ता ने असफल/टाइमआउट और समापन के बारे में एक मॉडल संवाद संदेश दिया।
क्या इस उपयोग के मामले में कोई स्वीकार्य तरीके हैं?
मेरे मिनी परीक्षण, निम्नलिखित शामिल था,
public $e_return = array();
public $e_status = '';
// Paths are absolute from/
public function execCheck($domain){
exec($this->ssl_check_path." -s ".$domain." -p 443 > ".$this->folder.$this->filename." 2>&1 &", &$this->e_return, &$this->e_status);
}
// Returns
Array
(
)
0
रेफरी के रूप में इस सवाल का उपयोग करना, Can't execute PHP script using PHP exec
http://www.php.net/manual/en/function.exec.php
धन्यवाद मुझे लगता है कि एक कोशिश आज दे सकते हैं और देख मैं कैसे जाना :) –
मैं भी इस सवाल पाया जाएगा बहुत आसान, http://stackoverflow.com/questions/2603912/php-set-timeout-for-script-with-system-call-set-time-limit-not-working –