2010-03-24 18 views

cevap

5

.

Bir boru ile bir akış da yapabilirsiniz open olarak çıktı (Perl < 3) sahip olmak istiyorsanız:

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

perldoc -f open bakınız.

+0

yaptım ve hiçbir şey ortaya çıktı. Google için çok basit, sanırım. Ben bir php adamıyım, tahmin edebileceğiniz gibi ve perl benim için tamamen farklı bir evren gibidir. Teşekkürler. – vasion

1

this question'un tersi, ancak aynı cevap.

kullanın backticks veya qx operatörü:

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

Ben backticks 'readpipe' kullanmayı tercih ediyorum, niyetini daha net kılıyor düşünüyorum. – Matt

1

Onun çekirdek problem haline bu damıtmak daha kolay olabilir, nasıl perlop manpage en bilgilerinde cevaplanır Perl, gelen başka bir programı çağırmak için yaklaşık qx (veya başka bir yöntemle perl qx komutuna bakın). Bu, harici bir programın nasıl çalıştırılacağını ve çıktı alınmasını sağlayarak, PHP betiğinizin komut satırından çağrıldığında gerçekten işlevsel olduğunu varsayarak (php your-php-script.php aracılığıyla çalıştırabilir misiniz?).

Komut diziniz yalnızca bir HTTP isteği ile çalışıyorsa, içeriğin URL'sini almak için LWP :: UserAgent veya WWW :: Mechanize gibi bir öğeyi kullanmanız gerekir; buna benzer şekilde, HTTP_Request.php numarasını nasıl kullanmanız gerektiğine de benzer şekilde. PHP.

+0

LOL, topluluğun güncellemesinden neredeyse 8 yıl sonra teşekkürler. Ben/onun şimdi ayırt etmekte daha iyiyim ve karşılaştırma sayfasında önceki durumundaki gibi neye benzediğini görmek acı vericiydi. Sanırım bu tedaviyi bu kadar küçük bir soruyla halledecek bir kişi olarak ayarladım, bunun için çok üzgünüm, ama birisi beni geriye dönük olarak daha iyi gösteriyorsa şikayet etmeyeceğim. :) – kbenson

İlgili konular