2012-12-09 10 views
5

मैं shell_exec का उपयोग करके कमांड चलाने की कोशिश कर रहा हूं लेकिन यह किसी भी आउटपुट को वापस नहीं कर रहा है। जब मैं कमांड प्रॉम्प्ट में कमांड को कॉपी करता हूं तो यह एक आकर्षण की तरह काम करता है।shell_exec विंडोज पथ के साथ नहीं चल रहा है

यहां वह आदेश है जिसे मैं चलाने की कोशिश कर रहा हूं।

$result = shell_exec('android update project -p "C:\xampp\htdocs\appBuilder" -t 1'); 

$result खाली स्ट्रिंग लौटा रहा है। जब मैं कमांड प्रॉम्प्ट में कमांड चलाता हूं, तो यह एक संदेश दिखाता है कि build.xml फ़ाइल सफलतापूर्वक उत्पन्न हुई थी। यह $result में सफलता संदेश दिखाना चाहिए।

यदि मैं कमांड प्रॉम्प्ट में केवल android update project -p "C:\xampp\htdocs\appBuilder" -t 1 आदेश चलाता हूं, तो यह काम करता है।

FYI: यह आदेश एक एंड्रॉइड एप्लिकेशन के लिए build.xml फ़ाइल उत्पन्न करना है। मैं इसे xampp का उपयोग कर स्थानीय वेब सर्वर पर भी चला रहा हूं।

कोई भी जानता है कि मैं क्या गलत कर रहा हूं?

+0

वास्तव में क्या हो रहा है, या नहीं हो रहा है? आप क्या उम्मीद करते हैं? – Charles

+0

मैंने अपना प्रश्न अपडेट किया। –

+0

क्या यह एक साधारण पथ समस्या हो सकती है? कमांड प्रॉम्प्ट में कमांड कहां चलाते हैं? और क्या आपने एक अलग स्थान से एक ही कमांड चलाने की कोशिश की है? –

उत्तर

3

एक डबल बैकस्लैश\\ एक भी \ चरित्र मुद्रित करने के लिए इस्तेमाल किया जाना चाहिए (पहले \ दूसरा \ से बचने के लिए प्रयोग किया जाता है):

$result = shell_exec('android update project -p "C:\\xampp\\htdocs\\appBuilder" -t 1'); 

यह भी सुनिश्चित करें PHP SAFE MODEOFF के लिए सेट है।

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