मैं एक साधारण एप्लिकेशन लिख रहा हूं जो किसी फ़ॉर्म से जानकारी का उपयोग करता है, इसे एक PHP स्क्रिप्ट में $ _POST से गुजरता है जो एक पायथन स्क्रिप्ट निष्पादित करता है और परिणामों को आउटपुट करता है। समस्या मैं कर रहा हूँ कि मेरे अजगर स्क्रिप्ट वास्तव में बहस में पारित किया जा रहा से नहीं चल रहा है हैPHP चर के साथ पाइथन स्क्रिप्ट निष्पादित
process3.php फ़ाइल:।
<?php
$start_word = $_POST['start'];
$end_word = $_POST['end'];
echo "Start word: ". $start_word . "<br />";
echo "End word: ". $end_word . "<br />";
echo "Results from wordgame.py...";
echo "</br>";
$output = passthru('python wordgame2.py $start_word $end_word');
echo $output;
?>
आउटपुट:
Start word: dog
End word: cat
Results from wordgame.py...
Number of arguments: 1 arguments. Argument List: ['wordgame2.py']
के शीर्ष पर मेरे wordgame2.py, मेरे पास निम्नलिखित है (डीबगिंग उद्देश्यों के लिए):
#!/usr/bin/env python
import sys
print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
धुंध क्यों नहीं है तर्क पारित किया जा रहा है = 3? (हां, मेरा फॉर्म डेटा सही तरीके से भेजता है।)
किसी भी मदद की बहुत सराहना की जाती है!
संपादित करें: मैं इस तरह है कि यह जब मैं स्पष्ट रूप से इसे आरंभ और समाप्ति शब्द बता चलता है जोड़ सकते हैं ... कुछ:
$output = passthru('python wordgame2.py cat dog');
echo $output
जब आप अपनी php फ़ाइल में python wordgame2.py $ start_word $ end_word'' 'echo' करते हैं तो आप क्या देखते हैं? – GWW
कि लाइन को जोड़ने के बाद, यह अब आउटपुट: प्रारंभ शब्द: कुत्ते समाप्ति शब्द: बिल्ली wordgame.py से परिणाम ... अजगर wordgame2.py कुत्ता बिल्ली तर्कों की संख्या: 1 तर्क। तर्क सूची: ['wordgame2.py'] – Micah
मुझे लगता है कि गलती '$ output = passthru ('python wordgame2.py $ start_word $ end_word') में है;' इस '$ output = passthru (' python wordgame2.py ' $ start_word। ""।$ end_word); 'शायद, पायथन $ कीवर्ड के कारण तर्कों को अस्वीकार कर रहा है (या हो सकता है कि $ परिवर्तनीय प्रतिस्थापन के लिए खोल का आह्वान कर रहा हो) –