PHP - Combinar inclue's en batch y online

 
Vista:
Imágen de perfil de Sandro
Val: 17
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

Combinar inclue's en batch y online

Publicado por Sandro (25 intervenciones) el 06/04/2014 21:43:10
Hola como están?

Tengo un pequeño problema, cuando trato de generar un programa el cual no necesita interactuar con el usuario.

Lo diseñe con includes que se utilizan desde la web, en lenguaje PHP, eso me mando unos problemas.

Ya que el mismo explorador lo cancela, con w3m dura un poco mas, pero no lo suficiente. Ya descubrí que es el mismo explorador que lo corta, entonces tengo que mandarlo varias veces, no repite la información por que, tiene indicadores de que ya se actualizo y en que fecha, pero ahora resulta que no es suficiente el tiempo para terminar, y deja la información incompleta.

Quise mandarlo por comando $php programa.php, pero al tomar la fecha desde el sistema lo cual utilizo el comando date("Ymd");

Me manda estos mensajes:


PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /home/sandro/public_html/Batch_1.php on line 57

eso ya lo encontre como hacerlo

date_default_timezone_set("America/New_York");

antes de:
date("ymd");

pero como no lo he encontrado es como saber de donde viene, yo utilizo los mismos includes para web productiva como la web de localhost, por medio de preguntas en la direccion y saber de donde viene
$url="http://".$_SERVER['HTTP_HOST'].":".$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI'];
if($url=="http://loc" || $url=="http://web"){..

pero como se sabría de donde viene por medio de la terminal esta linea me manda el mensaje sig;
PHP Notice: Undefined index: HTTP_HOST in /home/sandro/public_html/hölgyURL.php on line 4
PHP Notice: Undefined index: SERVER_PORT in /home/sandro/public_html/hölgyURL.php on line 4
PHP Notice: Undefined index: REQUEST_URI in /home/sandro/public_html/hölgyURL.php on line 4

gracias por sus prontas respuestas. Estamos en comunicacion
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Combinar inclue

Publicado por xve (6935 intervenciones) el 07/04/2014 07:54:34
Hola Sandro, como ves son Notice, no son errores ni warnings...

Lo que te esta diciendo, es que esas variables, ejecutando el php de consola ya que no hay una url a la que hayas llamado, sino que has ejecutado el php directamente sin url.

Por ejemplo los valores pasados por GET, tampoco se capturan con $_GET, sino que con argv

No se si me he explicado bien... coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Sandro
Val: 17
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

Combinar inclue

Publicado por Sandro (25 intervenciones) el 07/04/2014 08:27:12
hola xve:

Entonces según lo que me has explicado y lo que parece que he entendido seria lo siguiente:

Tengo una serie de includes para los datos generales, estos son las llaves, la conexión a mysql, y ademas todos las campos de html.

Ademas tengo un includes que me valida de donde viene, esto es por medio de la url, si es productiva y si es de desarrollo, para diferenciar las bases de datos principalmente para acceder, ya sean las de un servidor, la misma computadora, y las que están en la web.

Según lo que tu me dices, es que ademas valide si hay parámetros de argv, que habiendo estos indica que es ejecutado desde la terminal. Y ahí supongo que no va a cancelar por tiempo de proceso.

Yo solo lo ejecutaba con estos comando:
$w3m ~/public_html/Batch.php

Y posterior lo trate de ejecutar solo así
$php ~/public_html/Batch.php

AHORA LA SOLUCIÓN SERIA:
$php ~/public_html/Batch.php terminal

Y para re-utilizar los mismos includes seria asi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
  $PARAMETROS=var_dump($argv);
  if(isset($PARAMETROS) and $PARAMETROS[1]=="terminal")
     {
          echo "desde la terminal\n";
           ...
     }
  else
  {
      $url="http://".$_SERVER['HTTP_HOST'].":".$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI'];
      echo "desde explorador \n";
      ....
   }
?>

Para seguir utilizando los mismos includes.


GRACIAS por tu pronta y expedita respuesta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Sandro
Val: 17
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

Combinar include -- solucionado --

Publicado por Sandro (25 intervenciones) el 10/04/2014 23:23:19
-- solucionado --
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Combinar include -- solucionado --

Publicado por xve (6935 intervenciones) el 11/04/2014 07:59:50
Hola Sandro, al final como lo has solucionado? nos lo puedes comentar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar