Как я могу вызвать скрипт PHP из Perl? - PullRequest
5 голосов
/ 24 марта 2010

Как я могу вызвать скрипт PHP из скрипта Perl и получить его вывод в виде переменной?

Ответы [ 3 ]

5 голосов
/ 24 марта 2010

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

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

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

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

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

См. perldoc -f open .

1 голос
/ 24 марта 2010

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

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

1 голос
/ 24 марта 2010

Обратное этот вопрос , но тот же ответ.

Используйте backticks или оператор qx:

$output = `/path/to/php my_script.php`;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...