Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/06/2018, 10:28
tuadmin
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años
Puntos: 120
Respuesta: script php en programador de tareas

Cita:
Iniciado por mblascog Ver Mensaje
Buenas y gracias por ayudarme. He probado con la ruta absoluta y nada.
Me ha descolocado el tener que tener un servidor de correo instalado en el servidor. A qué te refieres exactamente? Yo parto de la idea que si ejecutando el script en el navegador funciona, también debería de funcionar ejecutándolo desde un .bat. Me equivoco?

Gracias
estas algo equivocado, si es ovio que en teoria se podria, recuerda que un servidor con APACHE y PHP como modulo de este, tiene ciertas librerias extras o que faltan, en cambio si se ejecuta PHP en modo CLI osea desde consola, igual tiene otras librerias y tambien hacen falta algunas otras que solo tiene el PHP y APACHE, si tu script que envia emails, no tiene bien definido,o es muy dependiente de algunas caracteristicas, este no te funcionara,

y en la linea de comando que te pusieron de ejemplo esta mal, ya que tiene un argumento "-r" el cual indica que acepta CODIGO PHP inlinea osea

c:/xampp/php/php.exe -r "echo time();"

si quieres saber que argumentos soportan, casi todos los programas para CLI, muestra una lista de argumentos con "-h","--help" ,"/h","/?"

lo correcto para ejecutar el script es esto
c:/xampp/php/php.exe c:/xamp/htdocs/programa.php

un detalle muy importante, es que tambien al hacer uso de la linea de comandos, si usas INCLUDE en tus scripts y no tienes control sobre las RUTAS ABSOLUTAS te dara errores de que no encuentra los archivos de tu script

por eso es siempre recomendable hacer uso de
Código:
<?php
require __DIR__ .'/un_archivo_necesario.php';
en lugar de
Código:
<?php
require 'un_archivo_necesario.php';
casi todos tiene tropiezos con ello
--------
y otra alternativa, es que crees un script aparte que desde CLI es que crees en php un script que revise la web cada X minutos

Código:
<?php
$url='http://localhost/programa.php';
$cada_x_minuto= 10;//ejecutara el script cada 10 minutos
while(true){
    sleep($cada_x_minuto*60);
    echo "Ostias tio que voy a ejecutar $url\n";
    $tmp = file_get_contents($url);
    echo "Y me la web me devolvio esto\n$tmp";
}