2010-03-24 14 views

Respuesta

5

Utilizando el backtick operator: Nota

my $phpOutput = `/usr/bin/php-cli your-script.php`; 

que puede que tenga que modificar la ruta para apuntar a su php ejecutable.

Si usted quiere tener la salida como una corriente también puede open con un tubo (Perl < 3):

open PHPOUT, "/usr/bin/php-cli your-script.php|"; 
while (<PHPOUT>) { 
    # do something with the current line $_ 
} 

Ver perldoc -f open.

+0

lo hice y no salió nada. es muy simple para google, supongo. Soy un chico php, como habrás adivinado y Perl es como un universo totalmente diferente para mí. Gracias. – vasion

1

El reverso de this question, pero la misma respuesta.

Uso backticks o la qx operador:

$output = `/path/to/php my_script.php`; 
+0

Prefiero usar 'readpipe' para los backticks, creo que hace que la intención sea más clara. – Matt

1

puede ser más fácil de destilar esto en su problema central, cómo invocar otro programa de Perl, que se contestó en información del perlop de página de manual sobre qx (o busque el comando perl qx a través de otros medios). Eso le informa cómo ejecutar un programa externo y obtener el resultado, suponiendo que su script PHP es realmente funcional cuando se lo llama a través de la línea de comando (¿puede ejecutarlo a través del php your-php-script.php?).

Si su script solo es funcional a través de una solicitud HTTP, entonces necesita usar algo como LWP :: UserAgent o WWW :: Mechanize para obtener el contenido a través de su URL, de manera similar a como debería usar HTTP_Request.php en PHP.

+0

LOL, gracias por la actualización de la comunidad casi 8 años después del hecho. Estoy mucho mejor para distinguirlo ahora, y fue doloroso ver cómo era en su estado anterior en la página de comparación. Supongo que realmente hizo estallar a alguien para obtener este tratamiento mucho más tarde en una pequeña pregunta, lo siento mucho por eso, pero no me voy a quejar si alguien me hace ver mejor de forma retroactiva. :) – kbenson

Cuestiones relacionadas