GNU/Linux >> Linux Esercitazione >  >> Linux

PHP exec - controlla se abilitato o disabilitato

Questo verificherà che exec sia disponibile e abilitato PRIMA di tentare di eseguirlo. Se esegui exec() e la funzione non esiste o è disabilitata, verrà generato un avviso. A seconda delle impostazioni del server che possono eseguire il rendering sul browser e scriveranno quasi sempre una riga in un file di registro =prestazioni compromesse.

// Exec function exists.
// Exec is not disabled.
// Safe Mode is not on.
$exec_enabled =
   function_exists('exec') &&
   !in_array('exec', array_map('trim', explode(', ', ini_get('disable_functions')))) &&
   strtolower(ini_get('safe_mode')) != 1
;


if($exec_enabled) { exec('blah'); }

if(function_exists('exec')) {
    echo "exec is enabled";
}

ini_get('disable_functions')

Quello che vuoi veramente fare è usare ini_get('disable_functions') per scoprire se è disponibile per te:

<?php
function exec_enabled() {
    $disabled = explode(',', ini_get('disable_functions'));
    return !in_array('exec', $disabled);
}
?>

Risposta su StackOverflow qui:controlla se "exec" è disabilitato, che in realtà sembra provenire dalla pagina Man di PHP:http://php.net/manual/en/function.exec.php#97187

Percorso

Se quanto sopra restituisce true (puoi usare exec()), ma PHP non può ancora attivare lo script, c'è una buona probabilità che tu abbia un problema di percorso per quello script, prova questo facendo:

print exec('which bash');

e poi prova

print exec('which ogr2ogr');

Questo verificherà se la funzione funziona effettivamente (autorizzazioni, diritti, ecc.):

if(@exec('echo EXEC') == 'EXEC'){
    echo 'exec works';
}

Linux
  1. Come elencare i moduli caricati o abilitati in PHP dalla riga di comando

  2. Come controllare i moduli PHP e Apache installati su un Linux?

  3. Errori PHP

  4. Come elencare tutti i moduli e verificare se sono abilitati o disabilitati in CentOS/RHEL 8

  5. Come verificare se SELinux è abilitato o disabilitato

Come controllare la versione di PHP

Come controllare la versione PHP su Ubuntu

Aggiornamento PHP da 5.6 a 7

Come controllare la versione PHP su Linux

Come verificare quali moduli Apache sono abilitati/installati?

Come posso verificare se KPTI è abilitato su Linux?