2010-01-24 11 views
42

मेरे पास एक वेबसाइट है और आप वेबसाइट से सर्वर पर जावा फ़ाइल चलाने की अनुमति दे सकते हैं।वेबसाइट पर PHP स्क्रिप्ट से जावा क्लास फ़ाइल चलाएं

मैं चाहता हूं कि उपयोगकर्ता एक बटन पर क्लिक करे जो सर्वर पर जावा फ़ाइल चलाएगा और जावा प्रोग्राम द्वारा मानक-आउट पर मुद्रित कुछ भी उपयोगकर्ता को देखने के लिए वेबसाइट पर मुद्रित किया जाएगा।

यह कैसे किया जा सकता है (PHP से जावा प्रोग्राम को कॉल करें और जावा फ़ाइल से मानक फ़ाइल को वास्तविक समय में PHP वेबसाइट पर वापस फ़ीड करें)?

अद्यतन:

कैसे PHP से जावा प्रोग्राम को चलाने के लिए पर जवाब के लिए धन्यवाद। हालांकि मैं भी सक्षम होना चाहता हूं, क्योंकि जावा प्रोग्राम स्टडआउट पर प्रिंट कर रहा है, जहां यह निष्पादन के रूप में बहुत सारे पाठ को प्रिंट कर रहा है, इसे वेबपृष्ठ पर प्रिंट करने में सक्षम होने के लिए ताकि उपयोगकर्ता देख सके कि कौन सा चरण जावा प्रोग्राम इसके निष्पादन में है।

यह कैसे किया जा सकता है और क्या इसके लिए कोई अतिरिक्त AJAX या जावास्क्रिप्ट या ऐसा कुछ भी आवश्यक है?

उत्तर

44

पीएचपी exec() समारोह जाने का रास्ता है, लेकिन आप होना चाहिए बहुत सावधान क्या आप करने की अनुमति में मार डाला .. दूसरे शब्दों उपयोगकर्ता इनपुट पर भरोसा नहीं करते क्योंकि यह संभवत: समझौता कर सकता है में अपने पूरा सर्वर

निष्पादन का उपयोग कर जावा एप्लिकेशन लॉन्चर को कॉल करना, आप PHP से किसी भी जावा एप्लिकेशन को निष्पादित कर सकते हैं, उदा।

<?php exec("java -jar file.jar arguments", $output); ?> 
+1

HI जेम्स, को क्रियान्वित करने जावा मुझे अनुमति नहीं दी त्रुटि दे रही है। मेरा उपयोगकर्ता अपाचे है। –

4

exec और अन्य program execution functions देखें। लेकिन यह बहुत ध्यान से करें, या यह शोषण के लिए एक नुस्खा है।

14

जब से तुम वास्तविक समय मैं जावा पुल करने के लिए एक PHP की स्थापना का सुझाव का उल्लेख है। प्रत्येक अनुरोध पर जेवीएम शुरू करने से बहुत सारे संसाधन होते हैं।

PHP/Java Bridge

PHP/जावा पुल एक स्ट्रीमिंग का एक कार्यान्वयन है, XML- आधारित नेटवर्क प्रोटोकॉल है, जो इस्तेमाल किया जा सकता है, एक स्थानीय लिपि इंजन कनेक्ट करने के लिए उदाहरण के लिए पीएचपी, योजना या पाइथन, जावा या ईसीएमए 335 आभासी मशीन के साथ। एसओएपी, के माध्यम से स्थानीय आरपीसी से 50 गुना तेज है, वेब-सर्वर पक्ष पर कम संसाधनों की आवश्यकता है। यह जावाइंटरफेस के माध्यम से सीधे संचार से अधिक विश्वसनीय है और जावा से जावा या PHP प्रक्रियाओं से जावा से प्रक्रियाओं को लागू करने के लिए अतिरिक्त घटकों की आवश्यकता नहीं है।

4

मैं नहीं बल्कि एक जावा एप्लेट है, जो तब क्लाइंट की तरफ एक javascript कॉल से लागू किया जा सकता है में जावा वर्ग लपेट होगा: देखने http://www.rgagnon.com/javadetails/java-0170.html

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

सर्वर पक्ष के लिए, php here में एक धूमकेतु कार्यान्वयन प्रतीत होता है।

मुझे आशा है कि इस मदद करता है ...

फिलिप

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