I am developing a webserver that invokes the PHP binary (via CGI) to process a script.
Here’s the problem:
The PHP script isn’t picking up the command line parameters. For example, if the client requests path/to/file.php?test=value, the $_GET array is empty.
I have tried passing the parameters in an environment variable (QUERY_STRING), but they still don’t show up.
How can I pass query string parameters to a PHP application?
There are various SAPIs for PHP. One of them is cli SAPI which apparently is what you’re using, cli SAPI wouldn’t populate $_GET, $_POST … because it’s for command line scripting.
In your case you need PHP cgi SAPI. (e.g., You need to replace
phpwithphp-cgi[1] in your shebang)[1] In most distribuitons it’s called
php-cgi, if you compile PHP yourself you need to enable cgi.