Có lẽ bạn đang đi qua các đối số ở trên dòng lệnh như sau:
php /path/to/wwwpublic/path/to/script.php arg1 arg2
... và sau đó truy cập vào chúng trong kịch bản thusly:
<?php
// $argv[0] is '/path/to/wwwpublic/path/to/script.php'
$argument1 = $argv[1];
$argument2 = $argv[2];
?>
Những gì bạn cần phải khi thực hiện các đối số thông qua HTTP (truy cập tập lệnh qua web) đang sử dụng chuỗi truy vấn và truy cập chúng thông qua $ _GET superglobal:
Đi tới http://yourdomain.com/path/to/script.php?argument1=arg1&argument2=arg2
... và truy cập:
<?php
$argument1 = $_GET['argument1'];
$argument2 = $_GET['argument2'];
?>
Nếu bạn muốn kịch bản để chạy bất kể nơi bạn gọi nó là từ (dòng lệnh hoặc từ trình duyệt), bạn sẽ muốn một cái gì đó như sau:
EDIT: như được chỉ ra bởi Cthulhu trong các nhận xét, cách trực tiếp nhất để kiểm tra môi trường bạn đang thực hiện là sử dụng hằng số PHP_SAPI. Tôi đã cập nhật mã cho phù hợp:
<?php
if (PHP_SAPI === 'cli') {
$argument1 = $argv[1];
$argument2 = $argv[2];
}
else {
$argument1 = $_GET['argument1'];
$argument2 = $_GET['argument2'];
}
?>
Làm thế nào để bạn chạy? – zerkms
Bạn có thể đăng mã của mình không? – SenorAmor
để bạn muốn chạy một dòng lệnh? hoặc một tập lệnh php? –