2010-03-24 2 views

ответ

5

Использование backtick operator:

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

Обратите внимание, что вы, возможно, придется изменить путь, чтобы указать на php исполняемый файл.

Если вы хотите, чтобы иметь выход в виде потока можно также open с трубой (Perl < 3):

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

См perldoc -f open.

+0

Я сделал и ничего не придумал. я думаю, это слишком просто для Google. Я парень php, как вы, возможно, догадались, и perl для меня совершенно похож на совершенно другую вселенную. Благодарю. – vasion

1

Реверс this question, но тот же ответ.

Использование backticks или qx оператор:

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

Я предпочитаю использовать 'readpipe' для backticks, я думаю, что это делает цель более четкой. – Matt

1

Это может быть проще, чтобы отогнать это в своей основной задачи, как вызвать другую программу из Perl, который ответил на информацию в perlop Manpage в о qx (или найдите команду perl qx с помощью некоторых других средств). Это сообщает вам, как запускать внешнюю программу и получать результат, предполагая, что ваш PHP-скрипт фактически работает при вызове через командную строку (можете ли вы запустить его через php your-php-script.php?).

Если ваш скрипт функционирует только через HTTP-запрос, вам необходимо использовать что-то вроде LWP :: UserAgent или WWW :: Mechanize, чтобы получить контент через его URL-адрес, подобно тому, как вам нужно будет использовать HTTP_Request.php в PHP.

+0

LOL, спасибо за обновление сообщества почти через 8 лет после факта. Мне гораздо лучше отличить его/его сейчас, и было больно видеть, как он выглядел в предыдущем состоянии на странице сравнения. Я предполагаю, что это действительно заставило кого-то получить это лечение намного позже по маленькому вопросу, поэтому извините за это, но я не собираюсь жаловаться, если кто-то заставляет меня выглядеть лучше задним числом. :) – kbenson

Смежные вопросы