使用url中的GET变量在perl中执行php脚本

时间:2015-05-08 20:40:49

标签: php perl

我有一个执行php脚本的perl脚本:

my $phpOutput = `/usr/bin/php /bart/bart.php`;

这完全没问题。现在我想在网址中添加一些变量。

my $phpOutput = `/usr/bin/php /bart/bart.php?data=1`;

这失败了。

Could not open input file: /bart/bart.php?data=1

任何想法为什么?

1 个答案:

答案 0 :(得分:5)

?x=y语法适用于Web服务器,而CLI需要在文件名后用空格分隔的参数。你编写它的方式,PHP认为?data=1是文件名的一部分。

你可以做到

my $phpOutput = `/usr/bin/php /bart/bart.php 1`;

并使用$argv数组从PHP脚本中检索参数1。因为它是第一个参数,所以它是$argv[1](第0个索引是脚本名称)。