У меня есть скрипт perl, который выполняет скрипт php:
my $phpOutput = '/usr/bin/php /bart/bart.php';
это работает отлично. теперь я хочу добавить некоторые переменные в url.
my $phpOutput = '/usr/bin/php /bart/bart.php?data=1';
это не удается.
Could not open input file: /bart/bart.php?data=1
любые идеи почему?
Синтаксис ?x=y
предназначен для веб-серверов, тогда как CLI ожидает аргументы, разделенные пробелом после имени файла. Как вы его написали, PHP думает, что ?data=1
являются частью имени файла.
Вы могли бы сделать
my $phpOutput = '/usr/bin/php /bart/bart.php 1';
и использовать массив $argv
для извлечения аргумента 1
из PHP-скрипта. Поскольку это первый аргумент, это будет $argv[1]
(0-й индекс - имя скрипта).
/usr/bin/php /bart/bart.php $someVar
; будет ли это работать?