Question: Say we usually it access via

```
http://localhost/index.php?a=1&b=2&c=3

```

How do we execute the same on a Linux command prompt?

```
php -e index.php

```

But what about passing the $\_GET variables? Maybe something like `php -e index.php --a 1 --b 2 --c 3`? I doubt that'll work.

Answer: 
### Option 1: php-cgi

Use 'php-cgi' in place of 'php' to run your script. This is the simplest way as you won't need to specially modify your PHP code to work with it:

```
php-cgi -f /my/script/file.php a=1 b=2 c=3

```

### Option 2: If you have a web server

If the PHP file is on a web server you can use 'wget' on the command line:

```
wget 'http://localhost/my/script/file.php?a=1&b=2&c=3'

```

*Or*:

```
wget -q -O - "http://localhost/my/script/file.php?a=1&b=2&c=3"

```

### Accessing the variables in PHP

In both option 1 & 2, you access these parameters like this:

```
$a = $_GET["a"];
$b = $_GET["b"];
$c = $_GET["c"];

```
If you need to pass `$_GET`, `$_REQUEST`, `$_POST`, or anything else you can also use PHP interactive mode:

```
php -a

```

Then type:

```
<?php
    $_GET['a'] = 1;
    $_POST['b'] = 2;
    include("/somefolder/some_file_path.php");

```

This will manually set any variables you want and then run your PHP file with those variables set.