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.
精彩评论