GNU/Linux >> Tutoriales Linux >  >> Linux

PHP exec:compruebe si está habilitado o deshabilitado

Esto verificará que exec esté disponible y habilitado ANTES de intentar ejecutarlo. Si ejecuta exec() y la función no existe o está deshabilitada, se generará una advertencia. Dependiendo de la configuración del servidor que puede mostrarse en el navegador y casi siempre escribirá una línea en un archivo de registro =impacto en el rendimiento.

// 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('desactivar_funciones')

Lo que realmente quieres hacer es usar ini_get('disable_functions') para saber si está disponible para usted:

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

Respondido en stackoverflow aquí:verifique si "exec" está deshabilitado, que en realidad parece provenir de la página PHP Man:http://php.net/manual/en/function.exec.php#97187

Ruta

Si lo anterior es verdadero (puede usar exec()), pero PHP aún no puede activar el script, es muy probable que tenga un problema de ruta para ese script, pruebe esto haciendo:

print exec('which bash');

y luego intente

print exec('which ogr2ogr');

Esto verificará si la función realmente funciona (permisos, derechos, etc.):

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

Linux
  1. Cómo comprobar la velocidad de su conexión ssh

  2. Cómo enumerar los módulos cargados o habilitados en PHP desde la línea de comandos

  3. ¿Trabajo cron para verificar si el script Php se está ejecutando, si no, entonces ejecutar?

  4. Cómo verificar su información de PHP

  5. ¿Cómo verificar los módulos PHP y Apache que están instalados en Linux?

Cómo comprobar la versión de PHP

Cómo comprobar la versión de PHP en Ubuntu

Actualizando PHP 5.6 a 7

Cómo comprobar la versión de PHP en Linux

¿Cómo verificar qué funciones de SysRq están habilitadas?

¿Cómo verifico si KPTI está habilitado en Linux?