我有一个执行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
任何想法为什么?
答案 0 :(得分:5)
?x=y
语法适用于Web服务器,而CLI需要在文件名后用空格分隔的参数。你编写它的方式,PHP认为?data=1
是文件名的一部分。
你可以做到
my $phpOutput = `/usr/bin/php /bart/bart.php 1`;
并使用$argv
数组从PHP脚本中检索参数1
。因为它是第一个参数,所以它是$argv[1]
(第0个索引是脚本名称)。