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