Foros del Web » Administración de Sistemas » Unix / Linux »

Necesito linux para ejecutar un codigo php por linea de comandos?

Estas en el tema de Necesito linux para ejecutar un codigo php por linea de comandos? en el foro de Unix / Linux en Foros del Web. Tengo el siguiente codigo que me han dicho que lo tengo k ejecutar por linea de comandos, alguien sabe k es eso y como se ...
  #1 (permalink)  
Antiguo 25/08/2006, 01:50
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 5 meses
Puntos: 4
Necesito linux para ejecutar un codigo php por linea de comandos?

Tengo el siguiente codigo que me han dicho que lo tengo k ejecutar por linea de comandos, alguien sabe k es eso y como se hace? necesito linux para hacerlo? gracias por adelantado.

Código PHP:
<?php

return; // Para evitar que lo ejecuteis online, que os conozco :P

// El script indexa el rectangulo formado por las casillas diametralmente opuestas <x1, y1> y <x2, y2>

if ($argc != 7){
    print(
"Uso: php $argv[0] <cookie> <x1> <y1> <x2> <y2> <servidor>\n");
    exit();
}

require_once(
"include/conf.php");
require_once(
'include/db_mysql.php');

// No se hasta que punto realiza comprobaciones el servidor, por ello es conveniente sustituir este
// User Agent por el mismo que el del navegador con el que se inicio sesion
// Por ese mismo motivo es aconsejable que se realice desde la misma IP
$user_agent "Opera/9.00 (X11; Linux i686; U; en)";

// Teoricamente, sustituyendo en el fichero karte.php por karte2.php y el tamanyo_cuadrante por 13, deberia
// indizar mas rapido, siempre que se disponga de Plus, claro.
$referer "http://$servidor/karte.php";
$tamanyo_cuadrante 7;
$centro_cuadrante floor($tamanyo_cuadrante 2);
$servidor $argv[6];

$distribuciones = array(
    array (
3339),
    array (
3456),
    array (
4446),
    array (
4536),
    array (
5346),
    array (
11115)
);

$db = new DB_Sql();
$db->db_connect($db_url);

// La cookie es el valor de la cookie con nombre T3E que proporciona el servidor al hacer login. Es como un identificador 
// univoco de sesion. Si se consigue secuestrar ese valor de otro usuario, se puede acceder a su cuenta
$cookie $argv[1];
$x = array($argv[2], $argv[4]);
$y = array($argv[3], $argv[5]);
sort($x); sort($y);

$pasos_x ceil((abs($x[0] - $x[1]) + 1) / $tamanyo_cuadrante);
$pasos_y ceil((abs($y[0] - $y[1]) + 1) / $tamanyo_cuadrante);
$pasos_x = ($pasos_x == $pasos_x);
$pasos_y = ($pasos_y == $pasos_y);

for (
$i 0$i $pasos_x$i++){
    for (
$j 0$j $pasos_y$j++){
        
$id xy2id(    $x[0] + ($i $tamanyo_cuadrante) + $centro_cuadrante
                
$y[0] + ($j $tamanyo_cuadrante) + $centro_cuadrante);
        
procesar_mapa($id);
        
sleep(1);
    }
}

function 
get($url){
    global 
$cookie;
    global 
$servidor;
    global 
$user_agent;
    global 
$referer;

    
$opts = array(
            
'http' => array(
                
'method' => 'GET',
                
'header' => "Host: $servidor\r\n".
                
"User-Agent: $user_agent\r\n".
                
"Referer: $referer\r\n".
                
"Cookie: T3E=$cookie\r\n".
                
"Cookie2: \$Version=1\r\n"
                
)
             );
    
$contextResource stream_context_create($opts);
    
$handle fopen($url'r'false$contextResource);
    
$contents '';
    if(
$handle){
        while (!
feof($handle)) {
            
$contents .= fread($handle8192);
        }
        
fclose($handle);
    }
    return 
$contents;
}

function 
procesar_mapa($id){
    global 
$servidor;
    print(
"Mapa ($id) => (".id2x($id).", ".id2y($id).")\n");
    
    
$contents get("http://$servidor/karte.php?z=$id");

    
// <img class="mt\d+" src="img/es/m/([^\d]*)(\d*).gif">
    
preg_match_all('/<img class="mt\\d+" src="img\/un\/m\/([^\\d]*)(\\d+).gif">/i'$contents$tipos);
    
// tipos[1][i] = Tipo de casilla (t, d, o)
    // tipos[2][i] = Variedad del tipo de casilla

    // <area[^?]*\?d=(\d*)"[^>]*>
    
preg_match_all('/<area[^?]*\\?d=(\\d*)"[^>]*>/i'$contents$direcciones);
    
// direcciones[1][i] = ID de casilla

    
for($i 0$i sizeof($tipos[1]); $i++){
        
$id_casilla $direcciones[1][$i];
        switch(
$tipos[1][$i]){
            case 
"t"procesar_casilla($id_casilla); break; // Casilla despoblada
            
case "d"procesar_casilla($id_casilla); break; // Casilla poblada
            
case "o": switch($tipos[2][$i]){
                    case 
1:
                    case 
2insertar_info($id_casilla, array(1000)); break; // Leña
                    
case 3insertar_info($id_casilla, array(1001)); break; // Mixto Leña-Cereal 
                    
case 4:
                    case 
5insertar_info($id_casilla, array(0100)); break; // Barro
                    
case 6insertar_info($id_casilla, array(0101)); break; // Mixto Barro-Cereal
                    
case 7:
                    case 
8insertar_info($id_casilla, array(0010)); break; // Hierro
                    
case 9insertar_info($id_casilla, array(0011)); break; // Mixto Hierro-Cereal
                    
case 10:
                    case 
11insertar_info($id_casilla, array(0002)); break; // Mixto Cereal-Agua
                    
case 12insertar_info($id_casilla, array(0001)); break; // Cereal
                
} break;
        }
    }
}

function 
procesar_casilla($id){
    global 
$distribuciones;
    global 
$servidor;

    print(
"Casilla ($id) => (".id2x($id).", ".id2y($id).")\n");

    
$contents get("http://$servidor/karte.php?d=$id");

    
// <img src="img/un/g/f(\d+).jpg"[^>]*>
    
preg_match_all('/<img src="img\/un\/g\/f(\\d+).jpg"[^>]*>/i'$contents$dist);
    
// dist[1][0] Distribucion de los recursos

    
insertar_info($id$distribuciones[$dist[1][0] - 1]);
    
sleep(1);
}

function 
insertar_info($id$recursos){
    global 
$db;
    global 
$servidor;
    global 
$servers;

    
$db->db_query("INSERT IGNORE INTO ".$servers[$servidor]."_r (id, madera, barro, hierro, cereal) VALUES 
            ($id, '$recursos[0]','$recursos[1]','$recursos[2]','$recursos[3]')"
);
}

// Funcion que calcula el ID a partir de las coordenadas X e Y
function xy2id($x$y){ return + ($x 400) + (801 abs($y 400)); }

// Funcion que calcula la coordenada X a partir del ID
function id2x($id){ return (($id 1) % 801 400); }

// Funcion que calcula la coordenada Y a partir del ID
function id2y($id){ return (400 - (int)(($id 1) / 801)); }

// Normaliza una coordenada para la forma especial del mundo
function norm_coord($c){
        if (
$c 400) return ($c 801);
        if (
$c < -400) return ($c 801);
        return 
$c;
}

// Calcula el ID de una casilla desplazada
function id_desp($id$x$y){ return xy2id(norm_coord(id2x($id) + $x), norm_coord(id2y($id) + $y)); }

?>
Cita:
1.Ejecucion desde linea de comandos
2.Ejemplo: "php casillas.php valorcookie -248 166 -242 160 s1.travian.net" indizaria el rectangulo de 7x7 formado por los extremos (-248, 166) y (-242, 160) en el servidor s1.travian.net
  #2 (permalink)  
Antiguo 25/08/2006, 05:37
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 20 años, 11 meses
Puntos: 3
Ejecútalo desde la consola de Windows (MS-DOS). Si el intérprete de php no lo tienes configurado en el path de windows, tendrás que irte al directorio donde está instalado y desde allí ejecutar el comando, eso sí, para que se interprete el código php de casilla.php tendrás que poner su ruta correctamente.
  #3 (permalink)  
Antiguo 30/08/2006, 05:13
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 5 meses
Puntos: 4
Ahora acabo de instalar el wamp, pero nose que comando poner, ni que estructura ni sintaxis poner para poderlo ejecutar. como seria si la pagina k quiero ejecutar es:
"C:/Wamp/www/index2.php"
  #4 (permalink)  
Antiguo 30/08/2006, 12:00
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 7 meses
Puntos: 47
DIsculpame, ¿Pero con en el manual oficial en español: Usando PHP desde la línea de comando no pudiste ayudarte?
__________________
¡Volviendo a la programación!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:55.