On 08.08.2011 14:09, Richard Quadling wrote:
> Can you try ...
>
> php test.php -- Module.Controller.Action -p foobar
I tried
$ php test.php -p foobar -- Module.Controller.Action
that gave me:
array(1) {
["p"]=>
string(6) "foobar"
}
But that doesn't help me much. I could add a prepend_file that would
convert $_SERVER["argv"] but I still have to edit a lot of old /
third-party code.
For now I hacked ext/standard/basic_functions.c:
> --- php-5.3.6-cli.o/ext/standard/basic_functions.c 2011-02-08
> 17:29:34.000000000 +0100
> +++ php-5.3.6-cli/ext/standard/basic_functions.c 2011-08-08
> 14:07:40.000000000 +0200
> @@ -4283,7 +4283,12 @@
> arg_ptr = &arg;
> }
>
> - argv[pos++] = estrdup(Z_STRVAL_P(arg_ptr));
> + char *s = estrdup(Z_STRVAL_P(arg_ptr));
> + if (pos == 1 && strlen(s) > 0 && s[0] != '-') {
> + argc--;
> + } else {
> + argv[pos++] = s;
> + }
>
> if (arg_ptr != *entry) {
> zval_dtor(&arg);
Martin
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php