PHP लाई समाधान लिनक्समा कार्यान्वयन कमाण्ड कार्यान्वयन गर्न अनुमति छैन

सम्बन्धित आधिकारिक सन्दर्भ

PHP exec Linux sudoers file Sudo Commands

द्रुतगति मोडमा चल्दा संशोधनहरू

जब PHP फास्टकिगी मोडमा चल्दछ, यसका अनुमतिहरू यसको होस्ट प्रोग्रामबाट विरासतमा आउँदछ। हामी उदाहरणको रूपमा अपाचे लिन्छौं। पहिले, हामीले खाता फेला पार्नु पर्छ जुन अन्तर्गत अपाचे चलिरहेको छ, र vi वा vim प्रयोग गर्नुहोस् / etc / sudoers फाइल सम्पादन गर्न, र निम्न सन्दर्भ उदाहरण फाईलमा थप्न। निम्न सामग्रीमा, पहिले अप्पाच प्रक्रिया httpd फेला पार्न ps आदेश प्रयोग गर्नुहोस्, फिर्ताको नतिजाको बाँयापट्टि खाता जानकारी हेर्नुहोस्, र त्यसपछि अपाचेस खातामा प्राधिकरण थप्न sudoers फाइल सम्पादन गर्नुहोस्।

            ps aux | grep httpd
vim /etc/sudoers
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
apache ALL=(ALL) NOPASSWD:ALL
        

Php-fpm मोडमा चल्दा संशोधनहरू

जब php-fpm मोडमा चालु हुन्छ, यो एक अलग प्रक्रियाको रूपमा चल्छ। त्यसैले हामी पहिले यसको चालु खाता फेला पार्दछौं, र त्यसपछि माथिको रूपमा प्राधिकरण अपरेसनहरू प्रदर्शन गर्दछौं।

            ps aux | grep php-fpm
vim /etc/sudoers
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
www ALL=(ALL) NOPASSWD:ALL
        

परिवर्तन गर्नुहोस् कि प्रमाणित गर्नुहोस्

माथिको अपरेशन पछि, हामीले प्राधिकरणलाई परिमार्जन गरेका छौं, तर यो अझै प्रभावकारी परेको छैन। हामीले आफ्नो परिमार्जनलाई प्रभावकारी बनाउन सेवा पुनः सुरु गर्नु पर्छ। हाम्रो वास्तविक स्थिति अनुसार, अपाचे वा php-fpm सेवा पुनः सुरु गर्नुहोस्। फिर्ता भएको परिणाम हेर्न एक्जिक्युट कमाण्ड कार्यान्वयन गर्नुहोस्। यदि फिर्ता भएको परिणाम सामान्य रूपमा प्राप्त भयो भने यो सफल हुन्छ।

            exec('sudo dmidecode -s system-serial-number', $result);
var_dump($result);