Oplossing foar PHP sûnder tastimming om exec-kommando út te fieren op Linux

Besibbe offisjele referinsjes

PHP exec Linux sudoers file Sudo Commands

Oanpassingen by it útfieren fan fastcgi-modus

As PHP yn 'e fastcgi-modus rint, wurde har tagongsrjochten erfd fan har hostprogramma. Wy nimme apache as foarbyld om út te lizzen. Alderearst moatte wy it akkount fine wêrûnder apache rint, brûk dan vi of vim om it bestân / etc / sudoers te bewurkjen, en foegje it folgjende foarbyld oan it bestân ta. Yn 'e folgjende ynhâld, brûk earst it kommando ps om it apache-proses httpd te finen, sjoch nei de akkountynformaasje oan' e lofterkant fan it weromkommen resultaat, en bewurkje dan it sudoers-bestân om autorisaasje ta te foegjen oan it apache-akkount.

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

Oanpassingen by it útfieren fan php-fpm-modus

As jo ​​rinne yn php-fpm-modus, rint it as in apart proses. Dat wy fine earst it rinnende akkount, en fiere dan autorisaasjebedriuwen lykas hjirboppe.

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

Kontrolearje dat de wizigingen fan krêft binne

Nei de boppesteande operaasjes hawwe wy de autorisaasje wizige, mar dy is noch net yngien. Wy moatte de tsjinst opnij starte om ús wiziging fan krêft te meitsjen. Neffens ús feitlike situaasje, start de apache- of php-fpm-tsjinst opnij. Fier dan it kommando exec út om it weromkommen resultaat te besjen. As it weromkommende resultaat normaal wurdt krigen, is it suksesfol.

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