Імовірно, ви передаєте аргументи в командному рядку наступним чином:
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:
Перейдіть на сторінку http://yourdomain.com/path/to/script.php?argument1=arg1&argument2=arg2
... та доступ:
<?php
$argument1 = $_GET['argument1'];
$argument2 = $_GET['argument2'];
?>
Якщо ви хочете, щоб сценарій запускався незалежно від того, звідки ви його зателефонували (командний рядок або з браузера), вам потрібно щось подібне:
EDIT: як вказував Ктулху в коментарях, найбільш прямий спосіб перевірити, яке середовище ви виконуєте, - це використовувати константу PHP_SAPI . Я відповідно оновив код:
<?php
if (PHP_SAPI === 'cli') {
$argument1 = $argv[1];
$argument2 = $argv[2];
}
else {
$argument1 = $_GET['argument1'];
$argument2 = $_GET['argument2'];
}
?>