ដំណោះស្រាយចំពោះ PHP ដែលគ្មានការអនុញ្ញាតអោយប្រតិបត្តិពាក្យបញ្ជាប្រតិបត្តិនៅលើលីនុច
ឯកសារយោងផ្លូវការពាក់ព័ន្ធ
PHP exec Linux sudoers file Sudo Commandsការផ្លាស់ប្តូរនៅពេលដំណើរការនៅក្នុងរបៀប fastcgi
នៅពេលដែលកម្មវិធី PHP កំពុងដំណើរការនៅក្នុងរបៀប fastcgi សិទ្ធិរបស់វាត្រូវបានទទួលមរតកពីកម្មវិធីម៉ាស៊ីនរបស់វា។ យើងយក apache ធ្វើជាឧទាហរណ៍ដើម្បីពន្យល់។ ដំបូងយើងត្រូវរកគណនីដែល apache កំពុងដំណើរការហើយបន្ទាប់មកប្រើ vi ឬ vim ដើម្បីកែសម្រួលឯកសារ / etc / sudoers និងបន្ថែមឧទាហរណ៍យោងខាងក្រោមទៅឯកសារ។ នៅក្នុងមាតិកាខាងក្រោមដំបូងប្រើពាក្យបញ្ជា ps ដើម្បីរកដំណើរការ apache ដំណើរការ http មើលព័ត៌មានគណនីនៅផ្នែកខាងឆ្វេងនៃលទ្ធផលដែលត្រឡប់មកវិញហើយបន្ទាប់មកកែសម្រួលឯកសារ sudoers ដើម្បីបន្ថែមការអនុញ្ញាតឱ្យគណនី apache ។
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
ផ្ទៀងផ្ទាត់ថាការផ្លាស់ប្តូរមានប្រសិទ្ធិភាព
បន្ទាប់ពីប្រតិបត្តិការខាងលើយើងបានកែប្រែការអនុញ្ញាតប៉ុន្តែវាមិនទាន់មានប្រសិទ្ធិភាពនៅឡើយទេយើងត្រូវចាប់ផ្តើមសេវាកម្មឡើងវិញដើម្បីឱ្យការកែប្រែរបស់យើងមានប្រសិទ្ធភាព។ យោងទៅតាមស្ថានភាពជាក់ស្តែងរបស់យើងសូមចាប់ផ្តើមសេវាកម្ម apache ឬ php-fpm ឡើងវិញ។ បន្ទាប់មកប្រតិបត្តិពាក្យបញ្ជាប្រតិបត្តិដើម្បីមើលលទ្ធផលដែលបានត្រឡប់មកវិញប្រសិនបើលទ្ធផលដែលទទួលបានមកវិញជាធម្មតាវាទទួលបានជោគជ័យ។
exec('sudo dmidecode -s system-serial-number', $result);
var_dump($result);