मैंने अभी PHP में exec कमांड का उपयोग किया है और मुझे यह अजीब त्रुटि मिली है। 1. मैं इस तरह PHP कमांड का इस्तेमाल करने की कोशिश करता हूं: test1.php सामग्री:

if (!function_exists('json_decode')) {

$file = 'log.txt';
file_put_contents($file, "Fail to load JSON");
exit;

}else{

$file = 'log2.txt';
file_put_contents($file, "Success to load JSON");
exit;

}

कमांड लाइन में: >>php test1.php

मुझे JSON डिकोड लोड करने में सफलता मिली। लेकिन जब मैंने इसे इस तरह चलाने की कोशिश की: Test2.php सामग्री:

$test = exec( 'nohup nice php '.'test1.php');

मैं भागा http://localhost/test2.php

तब मुझे JSON डीकोड लोड करने में विफल मिला।

इसका मतलब यह है कि मुझे निष्पादन कमांड के भीतर json_decode काम नहीं मिल रहा है? क्या होता है और निष्पादन कमांड के भीतर json_decode का उपयोग कैसे करें?

1
hleduc 28 जुलाई 2011, 13:35
जब आप इसे किसी अन्य फ़ाइल से कॉल करते हैं तो क्या यह संभव है कि आपकी लॉग फ़ाइल का पथ गलत हो? साथ ही, आप केवल एक नियमित फ़ंक्शन क्यों नहीं बनाते हैं और निष्पादन को कॉल करने के बजाय कॉल करते हैं।
 – 
TJHeuvel
28 जुलाई 2011, 13:39

1 उत्तर

क्या यह वही मेजबान है? क्या यह संभव है कि आप एक मशीन पर php test1.php चलाते हैं, लेकिन दूसरी मशीन पर exec के साथ स्क्रिप्ट? यदि ऐसा है, तो json_decode केवल PHP 5.2.0 के बाद से ही उपलब्ध है। इसे चलाकर अपने PHP संस्करण की जाँच करें:

php -i | grep 'PHP Version'
0
Silver Light 28 जुलाई 2011, 13:43