Ответ 1
Предположительно, вы передаете аргументы в командной строке следующим образом:
php /path/to/wwwpublic/path/to/script.php arg1 arg2
... и затем обращаясь к ним в script:
<?php
// $argv[0] is '/path/to/wwwpublic/path/to/script.php'
$argument1 = $argv[1];
$argument2 = $argv[2];
?>
Что вам нужно делать при передаче аргументов через HTTP (доступ к script через Интернет), используется строка запроса и доступ к ним через супергелобал $_GET:
Перейдите к http://yourdomain.com/path/to/script.php?argument1=arg1&argument2=arg2
... и доступ:
<?php
$argument1 = $_GET['argument1'];
$argument2 = $_GET['argument2'];
?>
Если вы хотите, чтобы script запускался независимо от того, откуда вы его вызываете (в командной строке или из браузера), вам нужно что-то вроде следующего:
EDIT:, как отметил Ктулху в комментариях, самый прямой способ проверить, в какой среде вы работаете, использовать PHP_SAPI. Я обновил код соответственно:
<?php
if (PHP_SAPI === 'cli') {
$argument1 = $argv[1];
$argument2 = $argv[2];
}
else {
$argument1 = $_GET['argument1'];
$argument2 = $_GET['argument2'];
}
?>