Hola, tengo un problema al tratar de ejecutar el comando at desde php, tengo permisos en el servidor para poder usar esa funcion asi que hasta alli no tengo ningun problema
tengo los siguientes archivos para hacer una pequeña demostracion
cargatarea.sh Código PHP:
#!/bin/bash
/usr/bin/php /home/xxxxx/public_html/sh/cargartarea.php >> archivo.log
cargartarea.php Código PHP:
<?php
$log_file = '/home/xxxxx/public_html/sh/mensaje.log';
$log = fopen($log_file, "a+");
fputs($log, sprintf('Ejecutado a las: %s --> %s %s', date("H:i:s"), date("d/m/Y"), "\r\n"));
fclose($log);
?>
programartarea.php Código PHP:
<?php
error_reporting( E_ALL ^ (E_NOTICE | E_WARNING) );
$cmd = '/usr/bin/at -f /home/xxxxx/public_html/sh/cargatarea.sh "now"';
exec($cmd, $lineas, $resultado);
print_r($lineas);
print_r($resultado);
?>
si ejecuto por consola este comando
at -f /home/xxxxx/public_html/sh/cargatarea.sh "now" este funciona
pero por alguna razon extraña que no comprendo si ejecuto programartarea.php desde el navegador para que programe la tarea y la ejecute, primero no ejecuta nada y segundo si consulto para ver que tareas estan programadas se genera varias como si lo que cargue en la pagina quedara en un ciclo infinito. la pagina la cierro y el codigo de programarenvio.php no tiene un ciclo
Gracias