开发者

How can I invoke a PHP script from Perl?

How can I call a PHP script from a Perl script and get 开发者_如何学Pythonits output as a variable?


Using the backtick operator:

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

Note that you may have to edit the path to point to your php executable.

If you want to have the output as a stream you can also open with a pipe (Perl <3):

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

See perldoc -f open.


The reverse of this question, but the same answer.

Use backticks or the qx operator:

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


It may be easier to distill this into its core problem, how to invoke another program from perl, which is answered in the perlop manpage's info about qx (or look up the perl qx command through some other means). That informs you how to run an external program and get the output, assuming that your PHP script is actually functional when called through the command line (can you run it via php your-php-script.php ?).

If your script is only functional through an HTTP request, then you need to use something like the LWP::UserAgent or WWW::Mechanize to get the content through its URL, similarly to how you would need to use HTTP_Request.php in PHP.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜