Reputation: 3873
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?
Upvotes: 7
Views: 3423
Reputation: 1929
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
Upvotes: 1
Reputation: 5721
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.
Upvotes: 9
Reputation: 93636
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.
Upvotes: 1
Reputation: 16061
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.
Upvotes: 1