आप जो कर रहे हैं, उसके आधार पर सिस्टम () या पॉपेन () सही हो सकता है। सिस्टम का उपयोग करें () यदि पाइथन स्क्रिप्ट का कोई आउटपुट नहीं है, या यदि आप चाहते हैं कि पाइथन स्क्रिप्ट का आउटपुट सीधे ब्राउज़र पर जाए। यदि आप पायथन स्क्रिप्ट के मानक इनपुट के लिए डेटा लिखना चाहते हैं, या php में पायथन स्क्रिप्ट के मानक आउटपुट के डेटा को पढ़ना चाहते हैं, तो popen () का उपयोग करें। popen () आपको केवल पढ़ने या लिखने देगा, लेकिन दोनों को नहीं। यदि आप दोनों चाहते हैं, तो देखें proc_open () देखें , लेकिन प्रोग्राम के बीच दो तरह से संचार के साथ आपको गतिरोध से बचने के लिए सावधान रहने की आवश्यकता है, जहां प्रत्येक प्रोग्राम कुछ करने के लिए दूसरे की प्रतीक्षा कर रहा है।
यदि आप पायथन स्क्रिप्ट के लिए उपयोगकर्ता द्वारा दिए गए डेटा को पास करना चाहते हैं, तो कमांड इंजेक्शन के बारे में सावधान रहना बड़ी बात है। यदि आप सावधान नहीं हैं, तो आपका उपयोगकर्ता आपको डेटा भेज सकता है जैसे "? Badcommand;" और अपने कार्यक्रम को अपनी इच्छा के विरूद्ध मनमाना आदेश निष्पादित करें।
escapeshellarg () और escapeshellcmd () इस के साथ मदद कर सकते हैं, लेकिन व्यक्तिगत रूप से मैं सब कुछ को दूर करना पसंद करता हूं जो एक ज्ञात अच्छा चरित्र नहीं है, कुछ का उपयोग करके
preg_replace('/[^a-zA-Z0-9]/', '', $str)