Я пытаюсь получить вывод сценария Perl cgi, который имеет параметры со страницы PHP на Apache. Если мой PHP
<? echo exec('../cgi-bin/test.cgi'); ?>
тогда я получаю правильный вывод (но я не могу использовать параметры). Однако, если мой PHP
<? echo exec('../cgi-bin/test.cgi?m=1'); ?>
тогда я не получаю вывод. Когда я использую виртуальный ()
<? echo virtual('../cgi-bin/test.cgi?m=1'); ?>
Я получаю ошибку «Вызов неопределенной функции virtual ()».
Мой Perl-скрипт получает параметры с
my $co = new CGI;
my $mobile = $co->param('m') || 0;
Я не могу запустить скрипт из командной строки, потому что поставщик общего хостинга настроил сервер таким образом.
Я не знаю, поможет ли этот ответ кому-либо еще, потому что он технически не вызывает скрипт Perl через CGI, как я понимаю, но greg_diesel позволил мне вызывать скрипт Perl из PHP с несколькими параметрами:
exec('../cgi-bin/test.cgi "1" "2"');
и получить доступ к параметру в Perl с
$ARGV[0];
$ARGV[1];
и т. д. вместо CGI.
Других решений пока нет …