7

I'm using from ssh:

php filename.php

and works great, but when I do this:

php filename.php?id=2

I get a "could not open input file" error.

any ideas?

2

4 Answers 4

9

You can't pass GET variables via the command line!! If you need to pass a variable to your script you can use php filename.php your_variable and use $argv and $argc in your PHP code.

Sign up to request clarification or add additional context in comments.

Comments

1

PHP file's that were written as a website will only be of limited use on CLI.

You could write a wrapper script, that prepares the superglobals and include's the webscript.

I recommend reading about the CLI interface to understand what it does.

Comments

1

The filename.php?id=2 syntax is only for web servers.

What you did was tell the shell to find a file named filename.php?id=2 and pass it to PHP, but that file doesn't exist.

Comments

1

You need to pass your parameters as arguments instead and use $argv:

<?php
var_dump($argv);
?>

http://php.net/manual/en/reserved.variables.argv.php

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.