2012-10-06 9 views
5

हाल ही में मैं बीत चुके हैं WAMP server..I पर एक समस्या कुछ बाहरी खोल स्क्रिप्ट (कुछ चेकसम फ़ाइल) को चलाने के लिए PHP में shell_exec() फ़ंक्शन का उपयोग करना। लेकिन मेरे वैंप सर्वर में फ़ंक्शन डिफ़ॉल्ट रूप से अक्षम है। मैंने Google में खोज की लेकिन मुझे समाधान पता नहीं चला। इसलिए मैं उस कोड को लाइव सर्वर में डालने का प्रयास करता हूं। लेकिन एक ही समस्या है। मैंने उस सर्वर के लिए तकनीकी व्यक्ति से संपर्क किया लेकिन उसने कहा कि हम shell_script को सक्षम नहीं कर सकते हैं। यह सुरक्षा हिंसा है।WAMP सर्वर में shell_exec() सक्षम

तो एक ही रास्ता WAMP सर्वर में कोशिश कर रहा है ... कैसेshell_exec() या exec() सक्षम करने के लिए ..?

+0

सुरक्षित मोड सक्षम है? सुरक्षित मोड में 'shell_exec' अक्षम है – Juan

+1

@ जुआन सेफ मोड अक्षम है। – Mob

+0

भले ही आप इसे अपने WAMP सर्वर पर काम करने के लिए प्रबंधित करते हैं, फिर भी आप इसे अपने लाइव सर्वर पर कैसे ले जा रहे हैं? आप कैसे सोचते हैं कि आपके WAMP सर्वर पर फ़ंक्शन अक्षम है? आपने क्या प्रयास किया जब आपने कोशिश की तो क्या हुआ? – lanzz

उत्तर

0

वैंप द्वारा उपयोग की जाने वाली php.ini फ़ाइल खोलें, disable_functions भाग खोजें, इसे बदलें और सर्वर को पुनरारंभ करें।

+1

आपके रीप्ले के लिए धन्यवाद .. मैंने पहले ही php.ini फ़ाइल में चेक किया है। अक्षम-कार्य खाली है। कोई फ़ंक्शन अक्षम नहीं है .. – Selva

+0

इसे आजमाया। यह काम नहीं कर रहा है – Mob

+0

क्षमा करें दोस्तों..यह मेरी सारी समस्या है .. मुझे shell_exec() फ़ंक्शन 'ls -hal' की कोशिश की गई थी। लेकिन यह काम नहीं कर रहा है। हाल ही में मैंने कुछ अन्य बुनियादी आदेशों जैसे 'कैल', 'डेट' की कोशिश की .. यह काम कर रहा है..तो मुझे एहसास हुआ कि वैंप सिर्फ हमें लिनक्स पर्यावरण दे रहा है। तो हम पूर्ण लिनक्स कमांड उपयोग की उम्मीद नहीं कर सकते हैं। वास्तव में मैंने एक 'सी' फ़ाइल निष्पादित करने का प्रयास किया। अंत में मुझे समाधान मिला। सबसे पहले हमें उस 'सी' फ़ाइल को संकलित करने की आवश्यकता है, केवल हम निष्पादित कर सकते हैं ... यह मैंने उपयोग किया .. सभी के लिए धन्यवाद .. !! – Selva

0

आप \Apache2\bin फ़ोल्डर, नहीं php फ़ोल्डर में स्थित php.ini में सुरक्षित मोड अक्षम करने के लिए की जरूरत है।

नई सेटिंग्स लोड करने के तुरंत बाद अपाचे 2 सेवा को पुनरारंभ करें।

+0

धन्यवाद लेकिन 'safe_mode = off' – Mob

+0

क्या आपने Apache2 फ़ोल्डर में php.ini देखा था या नहीं? ** नहीं ** PHP फ़ोल्डर, अपाचे 2 फ़ोल्डर। –

+0

वर्तमान लोड की गई php.ini फ़ाइल – Edd

-2

मैं सिर्फ एक बेहतर स्पष्टीकरण मिल गया, लेकिन अभी तक इसे करने की कोशिश नहीं की। http://discussion.accuwebhost.com/linux-server/1096-how-enable-shell_exec-function-one-account.html

+0

मुझे नहीं लगता कि उनके पास उन कॉन्फ़िगरेशन तक पहुंच है, अन्यथा वह वैसे भी इसे सक्षम करने में सक्षम होगा। – Ariaan

0

एक "सर्वर समस्या" नहीं है - एक नज़र डालें। इस विन्यास की सिफारिश नहीं है। आपको व्यवस्थापक मोड में WAMP सर्वर चलाना होगा। PHP doesn't work with shell_exec(), system() or passthru()

0

आप बैकटिक की कोशिश की है:

यहाँ कुछ जानकारी कर रहे हैं? (मामले में safemode बंद है)

`ls -hal` 

विंडोज बराबर होगा

`dir \AH` 
+0

@ WebnetMobile.com ठीक है, यह अनिश्चित है। मैंने इसका जिक्र किया। तो आप के लिए आरटीएफए, और सवाल पर अन्य टिप्पणियां। उस नोट पर मोब ने उल्लेख किया है कि safemode ** OFF ** – Ariaan

+0

आह, मेरा बुरा, क्षमा करें। किसी कारण से मैंने आपके "ऑफ" गलत को पढ़ा। –

+0

कोई समस्या नहीं, -1 निकालने के लिए धन्यवाद ^^ – Ariaan

0

एक WAMP सर्वर ढेर है, जो विकास के लिए स्पष्ट रूप से है, WPN-XM या XAMPP की तरह उपयोग करने का प्रयास। डेवलपर के लिए किसी भी सुरक्षा सीमा के बिना। इसलिए सिस्टम(), shell_exec(), पासथ्रू() को निष्पादित करते समय आप परेशानी में नहीं भागेंगे।

6

निम्न पंक्ति मुझे इस समस्या के लिए सबसे अच्छी तरह से पढ़ी गई थी: "आपको php.ini में सुरक्षित app2 \ bin फ़ोल्डर में सुरक्षित मोड को अक्षम करने की आवश्यकता है, php फ़ोल्डर नहीं। लोड करने के बाद ठीक से अपाचे 2 सेवा को पुनरारंभ करें नई सेटिंग्स। "

समाधान है: Wamp-सर्वर से सभी सेवाओं

  1. स्टॉप और programm

  2. खोलें .../WAMP/bin/अपाचे/Apache2 बंद कर दें। । डेस्कटॉप के लिए /bin/php.ini

  3. प्रतिलिपि php.ini और खोलने यह

  4. safe_mode_exec_dir सेट (लाइन = के बाद खाली है, तो उसके चालू होने का !!!) यह सेट!

  5. बचाने
  6. प्रतिलिपि वापस dir करने के लिए()

  7. शुरू WAMP सर्वर

  8. कार्यकारी आनंद और सह (हो सकता है आप व्यवस्थापक अधिकार की जरूरत है)।

+1

मैंने इन चरणों का प्रयास किया लेकिन मेरे लिए काम नहीं किया। – Happy

+0

'set_mode_exec_dir सेट करें (लाइन के बाद = खाली है, तो यह चालू है !!!) इसे बंद कर दें!' ... मुझे यह समझ में नहीं आया .... मेरे php.ini में 'safe_mode_exec_dir =' यह खाली है, क्या करें मुझे वहां टाइप करने की ज़रूरत है? – Hitesh

+0

मैं इसे कैसे बंद कर सकता हूं? –

0

मुझे लगता है कि हम इन चरणों का

उपयोग कर सकते हैं
  1. ओपन WAMP \ बिन \ अपाचे \ apache2.4.9 \ बिन (अपाचे संस्करण कोई फर्क नहीं पड़ता)
  2. संपादक में खोलें php.ini फ़ाइल
  3. "अक्षम_फंक्शन" के लिए खोजें।
  4. अक्षम समारोह
  5. पुनरारंभ सभी सेवाओं का कार्यकारी और shell_exec निकालें।

आनंद लें !!!

0
<?php 
function _exec($cmd) 
{ 
    shell_exec('SCHTASKS /F /Create /TN _proc /TR "' . $cmd . '"" /SC DAILY /RU INTERACTIVE'); 
    shell_exec('SCHTASKS /RUN /TN "_proc"'); 
    shell_exec('SCHTASKS /DELETE /TN "_proc" /F'); 
} 
_exec("mspaint.exe"); 
?> 

बल्कि एक हैक, लेकिन यदि आप एक जीयूआई, या रुक जाता है के साथ कुछ भी शुरू करने के लिए कोशिश कर रहे हैं, यह है कि मैं क्या पाया है कि काम करता है।

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